In hardware designs, different IP blocks are connected through interconnect-bus fabrics (e.g. AHB and OCP). Within a System on Chip (SoC), the IP block subsystems could be using different bus protocols. In such a case, the IP blocks are then linked to the central bus (and to other IP blocks) through a fabric bridge. Bridges are used as bus-interconnect-routing modules that link different protocols or separate, different segments of the overall SoC interconnect.
For overall system security, it is important that the access-control privileges associated with any fabric transaction are consistently maintained and applied, even when they are routed or translated by a fabric bridge. A bridge that is connected to a fabric without security features forwards transactions to the slave without checking the privilege level of the master and results in a weakness in SoC access-control security. The same weakness occurs if a bridge does not check the hardware identity of the transaction received from the slave interface of the bridge.
| Impact | Details |
|---|---|
|
DoS: Crash, Exit, or Restart; Bypass Protection Mechanism; Read Memory; Modify Memory |
Scope: Confidentiality, Integrity, Access Control, Availability Likelihood: Medium |
| Phase(s) | Mitigation |
|---|---|
|
Architecture and Design |
Ensure that the design includes provisions for access-control checks in the bridge for both upstream and downstream transactions.
|
|
Implementation |
Implement access-control checks in the bridge for both upstream and downstream transactions.
|
| Nature | Type | ID | Name |
|---|---|---|---|
| ChildOf | Pillar Pillar - a weakness that is the most abstract type of weakness and represents a theme for all class/base/variant weaknesses related to it. A Pillar is different from a Category as a Pillar is still technically a type of weakness that describes a mistake, while a Category represents a common characteristic used to group related things. | 284 | Improper Access Control |
| Nature | Type | ID | Name |
|---|---|---|---|
| MemberOf | Category Category - a CWE entry that contains a set of other entries that share a common characteristic. | 1203 | Peripherals, On-chip Fabric, and Interface/IO Problems |
| Phase | Note |
|---|---|
| Architecture and Design | |
| Implementation |
Class: Not Language-Specific (Undetermined Prevalence)
Class: Not OS-Specific (Undetermined Prevalence)
Class: Not Architecture-Specific (Undetermined Prevalence)
Processor Hardware (Undetermined Prevalence)
Class: Not Technology-Specific (Undetermined Prevalence)
Example 1
This example is from CVE-2019-6260 [REF-1138]. The iLPC2AHB bridge connects a CPU (with multiple, privilege levels, such as user, super user, debug, etc.) over AHB interface to an LPC bus. Several peripherals are connected to the LPC bus. The bridge is expected to check the privilege level of the transactions initiated in the core before forwarding them to the peripherals on the LPC bus.
The bridge does not implement the checks and allows reads and writes from all privilege levels.
To address this, designers should implement hardware-based checks that are either hardcoded to block untrusted agents from accessing secure peripherals or implement firmware flows that configure the bridge to block untrusted agents from making arbitrary reads or writes.
Example 2
The example code below is taken from the AES and core local interrupt (CLINT) peripherals of the HACK@DAC'21 buggy OpenPiton SoC. The access to all the peripherals for a given privilege level of the processor is controlled by an access control module in the SoC. This ensures that malicious users with insufficient privileges do not get access to sensitive data, such as the AES keys used by the operating system to encrypt and decrypt information. The security of the entire system will be compromised if the access controls are incorrectly enforced. The access controls are enforced through the interconnect-bus fabrics, where access requests with insufficient access control permissions will be rejected.
The previous code snippet [REF-1382] illustrates an instance of a vulnerable implementation of access control for the CLINT peripheral (see module clint). It also shows a correct implementation of access control for the AES peripheral (see module aes0_wrapper) [REF-1381]. An enable signal (en_o) from the fabric's AXI interface (present in both modules) is used to determine if an access request is made to the peripheral. In the case of the AES peripheral, this en_o signal is first received in a temporary signal en_acct. Then, the access request is enabled (by asserting the en signal) only if the request has sufficient access permissions (i.e., acct_ctrl_i signal should be enabled). However, in the case of the CLINT peripheral, the enable signal, en_o, from the AXI interface, is directly used to enable accesses. As a result, users with insufficient access permissions also get full access to the CLINT peripheral.
To fix this, enable access requests to CLINT [REF-1383] only if the user has sufficient access as indicated by the acct_ctrl_i signal in the boolean && with en_acct.
Note: this is a curated list of examples for users to understand the variety of ways in which this weakness can be introduced. It is not a complete list of all CVEs that are related to this CWE entry.
| Reference | Description |
|---|---|
|
Baseboard Management Controller (BMC) device implements Advanced High-performance Bus (AHB) bridges that do not require authentication for arbitrary read and write access to the BMC's physical address space from the host, and possibly the network [REF-1138].
|
| Method | Details |
|---|---|
|
Simulation / Emulation |
RTL simulation to ensure that bridge-access controls are implemented properly.
Effectiveness: High |
|
Formal Verification |
Formal verification of bridge RTL to ensure that access control cannot be bypassed.
Effectiveness: High |
| Nature | Type | ID | Name |
|---|---|---|---|
| MemberOf | CategoryCategory - a CWE entry that contains a set of other entries that share a common characteristic. | 1396 | Comprehensive Categorization: Access Control |
Rationale
This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.Comments
Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.| CAPEC-ID | Attack Pattern Name |
|---|---|
| CAPEC-122 | Privilege Abuse |
| Submissions | |||
|---|---|---|---|
| Submission Date | Submitter | Organization | |
|
2020年05月19日
(CWE 4.3, 2020年12月10日) |
Arun Kanuparthi, Hareesh Khattri, Parbati Kumar Manna | Intel Corporation | |
| Contributions | |||
| Contribution Date | Contributor | Organization | |
| 2023年06月21日 | Chen Chen, Rahul Kande, Jeyavijayan Rajendran | Texas A&M University | |
| suggested demonstrative example | |||
| 2023年06月21日 | Shaza Zeitouni, Mohamadreza Rostami, Ahmad-Reza Sadeghi | Technical University of Darmstadt | |
| suggested demonstrative example | |||
| Modifications | |||
| Modification Date | Modifier | Organization | |
|
2024年02月29日
(CWE 4.14, 2024年02月29日) |
CWE Content Team | MITRE | |
| updated Demonstrative_Examples, References | |||
| 2023年06月29日 | CWE Content Team | MITRE | |
| updated Mapping_Notes | |||
| 2023年04月27日 | CWE Content Team | MITRE | |
| updated Relationships | |||
| 2022年10月13日 | CWE Content Team | MITRE | |
| updated Demonstrative_Examples, Description, Detection_Factors, Name, Potential_Mitigations | |||
| 2022年06月28日 | CWE Content Team | MITRE | |
| updated Applicable_Platforms | |||
| 2022年04月28日 | CWE Content Team | MITRE | |
| updated Applicable_Platforms | |||
| 2021年10月28日 | CWE Content Team | MITRE | |
| updated Observed_Examples | |||
| Previous Entry Names | |||
| Change Date | Previous Entry Name | ||
| 2022年10月13日 | Missing Security Checks in Fabric Bridge | ||
Use of the Common Weakness Enumeration (CWE™) and the associated references from this website are subject to the Terms of Use. CWE is sponsored by the U.S. Department of Homeland Security (DHS) Cybersecurity and Infrastructure Security Agency (CISA) and managed by the Homeland Security Systems Engineering and Development Institute (HSSEDI) which is operated by The MITRE Corporation (MITRE). Copyright © 2006–2025, The MITRE Corporation. CWE, CWSS, CWRAF, and the CWE logo are trademarks of The MITRE Corporation.