Description
On-chip fabrics or buses either do not support or are not configured to support privilege separation or other security features, such as access control.
Certain on-chip fabrics and buses, especially simple and low-power buses, do not support security features. Apart from data transfer and addressing ports, some fabrics and buses do not have any interfaces to transfer privilege, immutable identity, or any other security attribute coming from the bus master. Similarly, they do not have dedicated signals to transport security-sensitive data from slave to master, such as completions for certain types of transactions. Few other on-chip fabrics and buses support security features and define specific interfaces/signals for transporting security attributes from master to slave or vice-versa. However, including these signals is not mandatory and could be left unconfigured when generating the register-transfer-level (RTL) description for the fabric. Such fabrics or buses should not be used to transport any security attribute coming from the bus master. In general, peripherals with security assets should not be connected to such buses before the transaction from the bus master reaches the bus, unless some form of access control is performed at a fabric bridge or another intermediate module.
Potential Impact
Confidentiality, Integrity, Access Control, Availability
DoS: Crash, Exit, or Restart, Read Memory, Modify Memory
Demonstrative Examples
Mitigations & Prevention
If fabric does not support security features, implement security checks in a bridge or any component that is between the master and the fabric. Alternatively, connect all fabric slaves that do not have any security assets under one such fabric and connect peripherals with security assets to a different fabric that supports security features.
Detection Methods
- Architecture or Design Review High — Review the fabric specification and ensure that it contains signals to transfer security-sensitive signals.
- Manual Static Analysis - Source Code High — Lack of security features can also be confirmed through manual RTL review of the fabric RTL.
Related Weaknesses
Frequently Asked Questions
What is CWE-1318?
CWE-1318 (Missing Support for Security Features in On-chip Fabrics or Buses) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Base-level weakness. On-chip fabrics or buses either do not support or are not configured to support privilege separation or other security features, such as access control.
How can CWE-1318 be exploited?
Attackers can exploit CWE-1318 (Missing Support for Security Features in On-chip Fabrics or Buses) to dos: crash, exit, or restart, read memory, modify memory. This weakness is typically introduced during the Architecture and Design, Implementation phase of software development.
How do I prevent CWE-1318?
Key mitigations include: If fabric does not support security features, implement security checks in a bridge or any component that is between the master and the fabric. Alternatively, connect all fabric slaves that do not ha
What is the severity of CWE-1318?
CWE-1318 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.