Improper Translation of Security Attributes by Fabric Bridge
CWE-1311
Short description
Extended description
A bridge allows IP blocks supporting different fabric protocols to be integrated into the system. Fabric end-points or interfaces usually have dedicated signals to transport security attributes. For example, HPROT signals in AHB, AxPROT signals in AXI, and MReqInfo and SRespInfo signals in OCP.
The values on these signals are used to indicate the security attributes of the transaction. These include the immutable hardware identity of the controller initiating the transaction, privilege level, and type of transaction (e.g., read/write, cacheable/non-cacheable, posted/non-posted).
A weakness can arise if the bridge IP block, which translates the signals from the protocol used in the IP block endpoint to the protocol used by the central bus, does not properly translate the security attributes. As a result, the identity of the initiator could be translated from untrusted to trusted or vice-versa. This could result in access-control bypass, privilege escalation, or denial of service.
Best practices to prevent this CWE
Phase: Architecture and Design
The translation must map signals in such a way that untrusted agents cannot map to trusted agents or vice-versa.
Phase: Implementation
Ensure that the translation maps signals in such a way that untrusted agents cannot map to trusted agents or vice-versa.