Weakness · High

CWE-1299: Missing Protection Mechanism for Alternate Hardware Interface

What it is

The lack of protections on alternate paths to access control-protected assets (such as unprotected shadow registers and other external facing unguarded interfaces) allows an attacker to bypass existing protections to the asset that are only performed against the primary path.

MITRE CWE 4.19.1

Severity (our rating)
High
Likelihood of exploit
Not rated by MITRE
Introduced during
Architecture and Design, Implementation
Exploited in the wild
No CVE in CISA's catalog

In more detail

An asset inside a chip might have access-control protections through one interface. However, if all paths to the asset are not protected, an attacker might compromise the asset through alternate paths. These alternate paths could be through shadow or mirror registers inside the IP core, or could be paths from other external-facing interfaces to the IP core or SoC. Consider an SoC with various interfaces such as UART, SMBUS, PCIe, USB, etc. If access control is implemented for SoC internal registers only over the PCIe interface, then an attacker could still modify the SoC internal registers through alternate paths by coming through interfaces such as UART, SMBUS, USB, etc. Alternatively, attackers might be able to bypass existing protections by exploiting unprotected, shadow registers. Shadow registers and mirror registers typically refer to registers that can be accessed from multiple addresses. Writing to or reading from the aliased/mirrored address has the same effect as writing to the address of the main register. They are typically implemented within an IP core or SoC to temporarily hold certain data. These data will later be updated to the main register, and both registers will be in synch. If the shadow registers are not access-protected, attackers could simply initiate transactions to the shadow registers and compromise system security.

What an attacker can do

  • Modify Memory (Confidentiality, Integrity, Availability, Access Control)
  • Read Memory (Confidentiality, Integrity, Availability, Access Control)
  • DoS: Resource Consumption (Other) (Confidentiality, Integrity, Availability, Access Control)
  • Execute Unauthorized Code or Commands (Confidentiality, Integrity, Availability, Access Control)
  • Gain Privileges or Assume Identity (Confidentiality, Integrity, Availability, Access Control)
  • Alter Execution Logic (Confidentiality, Integrity, Availability, Access Control)
  • Bypass Protection Mechanism (Confidentiality, Integrity, Availability, Access Control)
  • Quality Degradation (Confidentiality, Integrity, Availability, Access Control)

How to prevent it

Requirements

  • Protect assets from accesses against all potential interfaces and alternate paths.

Architecture and Design

  • Protect assets from accesses against all potential interfaces and alternate paths.

Implementation

  • Protect assets from accesses against all potential interfaces and alternate paths.

CWE-1299 on MITRE's CWE site

H2 Security

Found it in your code?

We review where it appears, fix it with your team, and check it was not already used against you.

Talk to our team

T Academy

Stop writing it in the first place

Learn to build software and systems without weaknesses like this one, with practice on real hosts in your browser, every objective checked on the machine.

Start free

Source: MITRE Common Weakness Enumeration, CWE version 4.19.1. CWE is a trademark of The MITRE Corporation.