CWEweakness

CWE-1319 Improper Protection against Electromagnetic Fault Injection (EM-FI)

Official page ↗
Abstraction
Base
Structure
Simple
Status
Incomplete
Languages
Not Language-Specific
CWE version
5.0

Description

The device is susceptible to electromagnetic fault injection attacks, causing device internal information to be compromised or security mechanisms to be bypassed.

Common consequences

• Confidentiality, Integrity, Access Control, Availability: Modify Memory, Read Memory, Gain Privileges or Assume Identity, Bypass Protection Mechanism, Execute Unauthorized Code or Commands — Electromagnetic fault injection may allow an attacker to locally and dynamically modify the signals (both internal and external) of an integrated circuit. EM-FI attacks consist of producing a local, transient magnetic field near the device, inducing current in the device wires. A typical EMFI setup is made up of a pulse injection circuit that generates a high current transient in an EMI coil, producing an abrupt magnetic pulse which couples to the target producing faults in the device, which can lead to: • Bypassing security mechanisms such as secure JTAG or Secure Boot • Leaking device information • Modifying program flow • Perturbing secure hardware modules (e.g. random number generators)

Potential mitigations

• [Architecture and Design, Implementation] • 1. Redundancy - By replicating critical operations and comparing the two outputs can help indicate whether a fault has been injected. • 2. Error detection and correction codes - Gay, Mael, et al. proposed a new scheme that not only detects faults injected by a malicious adversary but also automatically corrects single nibble/byte errors introduced by low-multiplicity faults. • 3. Fail by default coding - When checking conditions (switch or if) check all possible cases and fail by default because the default case in a switch (or the else part of a cascaded if-else-if construct) is used for dealing with the last possible (and valid) value without checking. This is prone to fault injection because this alternative is easily selected as a result of potential data manipulation [REF-1141]. • 4. Random Behavior - adding random delays before critical operations, so that timing is not predictable. • 5. Program Flow Integrity Protection - The program flow can be secured by integrating run-time checking aiming at detecting control flow inconsistencies. One such example is tagging the source code to indicate the points not to be bypassed [REF-1147]. • 6. Sensors - Usage of sensors can detect variations in voltage and current. • 7. Shields - physical barriers to protect the chips from malicious manipulation.

Observed examples

• CVE-2020-27211: Chain: microcontroller system-on-chip uses a register value stored in flash to set product protection state on the memory bus, but it does not contain protection against fault injection (CWE-1319), which leads to an incorrect initialization of the memory bus (CWE-1419), leading the product to be in an unprotected state.

Related

Attack pattern · CAPEC (2)

  • CAPEC-624 Hardware Fault Injection attack pattern
  • CAPEC-625 Mobile Device Fault Injection attack pattern

Observed example · CVE (1)

  • CVE-2020-27211 Nordic Semiconductor nRF52840 devices through 2020-10-19 have improper protection against physical side channels. vulnerability

Child of · CWE (1)

  • CWE-693 Protection Mechanism Failure weakness

Referenced by CAPEC · weakness (2)

  • CAPEC-624 Hardware Fault Injection attack pattern
  • CAPEC-625 Mobile Device Fault Injection attack pattern

Referenced by CVE · weakness (6)

  • CVE-2025-9709 On-Chip Debug and Test Interface With Improper Access Control and Improper Protection against Electromagnetic Fault Injection (EM-FI) in… vulnerability
  • CVE-2025-1566 DNS Leak in Native System VPN in Google ChromeOS Dev Channel on ChromeOS 16002.23.0 allows network observers to expose plaintext DNS… vulnerability
  • CVE-2024-31510 An issue in Open Quantum Safe liboqs v.10.0 allows a remote attacker to escalate privileges via the crypto_sign_signature parameter in the… vulnerability
  • CVE-2023-5138 Glitch detection is not enabled by default for the CortexM33 core in Silicon Labs secure vault high parts EFx32xG2xB, except EFR32xG21B. vulnerability
  • CVE-2022-42784 A vulnerability has been identified in LOGO! vulnerability
  • CVE-2022-26131 Power Line Communications PLC4TRUCKS J2497 trailer receivers are susceptible to remote RF induced signals. vulnerability