logo elektroda
logo elektroda
X
logo elektroda
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • #1 18316505
    dondu
    VIP Meritorious for electroda.pl
    Posts: 13906
    Help: 1292
    Rate: 809
    Further information on ESP's vulnerability to hacking. This time without the possibility of removing the cause: https://www.infoq.com/news/2019/12/esp32-fatal-fury/

    Moderated By dondu:

    Hover topic, as this is important information and would be good to be collected in one topic.

  • ADVERTISEMENT
  • #2 18316879
    mipix
    Level 38  
    Posts: 4050
    Help: 489
    Rate: 1458
    That is, it can be expected that, for security purposes, some future products with this controller will have the ability to change the software blocked.
  • #3 18316920
    dondu
    VIP Meritorious for electroda.pl
    Posts: 13906
    Help: 1292
    Rate: 809
    This is how it can be understood, which will cause the problem of software swapping to address other security vulnerabilities. I think they have backed themselves into a corner especially as they have already sold over 100million units (January 2018 figures).
  • ADVERTISEMENT
  • #4 18316929
    Anonymous
    Level 1  
  • #5 18316937
    mipix
    Level 38  
    Posts: 4050
    Help: 489
    Rate: 1458
    Repair the equipment by replacing it with a new one. In the next one they will correct old faults and make new ones :) .
  • #6 18317334
    dondu
    VIP Meritorious for electroda.pl
    Posts: 13906
    Help: 1292
    Rate: 809
    khoam wrote:
    dondu wrote:
    This can be understood, which will cause a problem with software substitutions to address other security vulnerabilities. I think they have backed themselves into a corner all the more
    .
    I suggest reading the current eFuse documentation for ESP32:
    https://www.espressif.com/sites/default/files...ation/esp32_technical_reference_manual_en.pdf (chapter 20), and
    https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/system/efuse.html
    .

    I just read the article indicated in the first post and in it:

    Quote:
    The attack works against eFuse, a one-time programmable memory where data can be burned to the device. The ESP32 official documentation describes why the attack works: "Each eFuse is a one-bit field which can be programmed to 1 after which it cannot be reverted back to 0." By burning a payload into the device’s eFuse, no software update can ever reset the fuse and the chip must be physically replaced or the device discarded.
    .

    I am not an ESP32 specialist, so please explain.
  • #7 18317401
    Anonymous
    Level 1  
  • ADVERTISEMENT
  • #8 18318542
    dondu
    VIP Meritorious for electroda.pl
    Posts: 13906
    Help: 1292
    Rate: 809
    Did I understand correctly that the average user of an ESP32 programmed e.g. in an Arduino environment does not use the recommended security features and is thus vulnerable to attack without having to physically access the chip?
  • #9 18318874
    Anonymous
    Level 1  
  • #10 18329481
    vagteile
    Level 2  
    Posts: 3
    Rate: 3
    khoam wrote:
    dondu wrote:
    I only read the article indicated in the first post and in it:
    .
    Well, that's exactly what it said, but it didn't include any more information, that this requires direct physical access to the MCU in the device in question and requires "some" modifications in the pcb itself and in some cases opening the metal case ESP32, if there is one - I'm not referring to the simple and cheap developer boards from AliExpress on which "penetration" tests have been done, because that was simpler.

    Furthermore, Espressif's recommendations were and are clear on ESP32 security (as long as one needs, understands and uses them):
    • Use per-device unique keys for Secure Boot and Flash Encryption.
    • Generate per-device unique keys stored in flash for application uses, rather than using a single shared key across all devices.
    .

    Following the above rules ensures that 'breaking' one ESP32 in one unit of a given device, will not result in 'breaking' the security in all other ESP32s in the same devices i.e. with the same firmware. The wise will listen and the foolish will 'save'.

    This is what one of the 'hacking' steps looks like after removing the ESP32's metal casing:

    ESP: Security gaps and bugs
    .

    It guarantees that an unauthorised person will be able to access the flash from a particular type of device, which significantly increases the chance of cloning the device or finding further vulnerabilities in the software itself. Unique keys for Secure Boot and Flash encryption become very problematic from a certain volume. Espressif's irresponsible design of the validation and the fact that they upset the LR guy with their policy/sneakiness has backfired.
  • ADVERTISEMENT
  • #11 18329702
    Anonymous
    Level 1  
  • #12 18378724
    Anonymous
    Level 1  

FAQ

TL;DR: ESP32 hardening relies on eFuses—"Each eFuse is a one-bit field … cannot be reverted." Burnt fuses can’t be undone in software, so fixes may require hardware replacement. [Elektroda, dondu, post #18317334]

Why it matters: Makers and teams shipping ESP32 products need clear steps to harden devices and plan realistic remediation without wishful OTA fixes.

Quick Facts

What exactly is the ESP32 eFuse vulnerability?

The issue targets ESP32’s eFuse design. eFuses are one-time bits; once set to 1, they cannot return to 0. An attacker who burns a malicious payload into eFuse settings blocks any software-only recovery. You cannot reset those fuses by updating firmware. In worst cases, the chip must be replaced or the device discarded. That irreversibility is why update-only mitigation fails. Treat eFuse programming as permanent, and audit provisioning carefully before shipping. "Each eFuse is a one-bit field … cannot be reverted." [Elektroda, dondu, post #18317334]

Is this a remote attack or do attackers need physical access?

It’s a local-access technique. The researcher’s method requires physical access to the target MCU. IDE choice or HAL does not change that requirement. Remote exploitation is not described in the cited discussion of this flaw. Focus your defenses on preventing tampering and securing the hardware boundary. "A security researcher has identified a local-access technique." [Elektroda, khoam, post #18318874]

Will manufacturers lock firmware updates on ESP32 devices?

They can. Vendors can configure Secure Boot, Flash Encryption, and eFuses to prevent end-user reflashing. That choice strengthens integrity but limits field service flexibility. Whether a given product is locked depends on the manufacturer’s policy and risk model. Planning for secure OTA with proper keying is essential if updates must remain possible. Provisioning choices are under the vendor’s control. [Elektroda, khoam, post #18316929]

What happens if an attacker burns malicious eFuses?

You cannot reverse it in software. eFuses are one-time programmable, so there is no OTA rollback. The practical remedy becomes hardware-level: replace the chip or retire the device. This permanence raises the stakes around factory provisioning and physical device security. Plan detection, blocking, and tamper evidence. [Elektroda, dondu, post #18317334]

What protections should I enable right now on ESP32?

Follow Espressif’s guidance: “Use per-device unique keys for Secure Boot and Flash Encryption” and use unique app keys per device. How-To: 1. Enable Secure Boot and burn a per-device boot key in eFuse. 2. Enable Flash Encryption with a per-device key. 3. Generate per-device application keys stored securely, not shared fleet-wide. These steps confine any breach to a single unit instead of your entire fleet. [Elektroda, khoam, post #18317401]

Are Arduino‑ESP32 projects less secure than ESP‑IDF builds?

No. Security depends on configuration, not the IDE or HAL. The Arduino core for ESP32 sits on ESP‑IDF, so the same security controls apply. The attack discussed remains a local-access technique regardless of development environment. Focus on enabling Secure Boot, Flash Encryption, and unique keys. [Elektroda, khoam, post #18318874]

How hard is the attack in real products?

It requires direct hardware access. Attackers often need to modify the PCB and sometimes open the ESP32’s metal shield. Developer boards without shielding are easier targets, which is an important edge case. Harden enclosures and add tamper evidence where possible. Difficulty increases with robust mechanical design. [Elektroda, khoam, post #18317401]

Did Espressif issue a silicon fix for this? Which revision?

Yes. Espressif designed a new ESP32‑D0WD‑V3 silicon revision to resist this specific local attack. Roll these parts into new builds when available. Validate boot and encryption flows again during migration. Check markings and part documentation to ensure you receive V3 units. [Elektroda, khoam, post #18329702]

Will tighter security make field updates harder?

Locking firmware changes can hinder later vulnerability fixes. If Secure Boot and eFuses block reflashing, patching becomes complicated. Balance integrity with maintainability by designing a secure OTA pipeline from day one. Otherwise, you back yourself into a corner with unserviceable devices. [Elektroda, dondu, post #18316920]

Could attackers read my flash and clone devices?

Forum practitioners warn this technique enables unauthorized flash access on the targeted device type. That raises cloning risk and helps attackers research additional software flaws. Per-device keys and Flash Encryption limit exposure, but provisioning at scale must be managed carefully. Treat flash content as sensitive IP. [Elektroda, vagteile, post #18329481]

How many ESP32 units are out there, and does that amplify risk?

ESP32 shipments exceeded “over 100million units” by January 2018. That scale increases incentive for attackers and magnifies fleet risk from poor key hygiene. Secure Boot and per-device keys prevent one compromise from dooming the entire fleet. Plan uniquely keyed provisioning from the start. [Elektroda, dondu, post #18316920]

Where can I find official eFuse and ESP‑IDF security docs?

Start with Espressif’s ESP32 Technical Reference Manual (eFuse chapter) and the ESP‑IDF eFuse API reference. These documents explain eFuse fields, burning procedures, and how to integrate Secure Boot and Flash Encryption. Review them before setting production fuses. [Elektroda, khoam, post #18316929]
Generated by the language model.
ADVERTISEMENT