Base · Medium

CWE-1193: Power-On of Untrusted Execution Core Before Enabling Fabric Access Control

The product enables components that contain untrusted firmware before memory and fabric access controls have been enabled.

CWE-1193 · Base Level ·1 Mitigations

Description

The product enables components that contain untrusted firmware before memory and fabric access controls have been enabled.

After initial reset, System-on-Chip (SoC) fabric access controls and other security features need to be programmed by trusted firmware as part of the boot sequence. If untrusted IPs or peripheral microcontrollers are enabled first, then the untrusted component can master transactions on the hardware bus and target memory or other assets to compromise the SoC boot firmware.

Potential Impact

Access Control

Bypass Protection Mechanism

Mitigations & Prevention

Architecture and Design

The boot sequence should enable fabric access controls and memory protections before enabling third-party hardware IPs and peripheral microcontrollers that use untrusted firmware.

Frequently Asked Questions

What is CWE-1193?

CWE-1193 (Power-On of Untrusted Execution Core Before Enabling Fabric Access Control) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Base-level weakness. The product enables components that contain untrusted firmware before memory and fabric access controls have been enabled.

How can CWE-1193 be exploited?

Attackers can exploit CWE-1193 (Power-On of Untrusted Execution Core Before Enabling Fabric Access Control) to bypass protection mechanism. This weakness is typically introduced during the Architecture and Design phase of software development.

How do I prevent CWE-1193?

Key mitigations include: The boot sequence should enable fabric access controls and memory protections before enabling third-party hardware IPs and peripheral microcontrollers that use untrusted firmware.

What is the severity of CWE-1193?

CWE-1193 is classified as a Base-level weakness (Medium abstraction). Its actual severity depends on the specific context and how the weakness manifests in your application.