Weakness · High
CWE-1312: Missing Protection for Mirrored Regions in On-Chip Fabric Firewall
What it is
The firewall in an on-chip fabric protects the main addressed region, but it does not protect any mirrored memory or memory-mapped-IO (MMIO) regions.
- 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
Few fabrics mirror memory and address ranges, where mirrored regions contain copies of the original data. This redundancy is used to achieve fault tolerance. Whatever protections the fabric firewall implements for the original region should also apply to the mirrored regions. If not, an attacker could bypass existing read/write protections by reading from/writing to the mirrored regions to leak or corrupt the original data.
What an attacker can do
- Modify Memory (Confidentiality, Integrity, Access Control)
- Read Memory (Confidentiality, Integrity, Access Control)
- Bypass Protection Mechanism (Confidentiality, Integrity, Access Control)
How to prevent it
Architecture and Design
- The fabric firewall should apply the same protections as the original region to the mirrored regions.
Implementation
- The fabric firewall should apply the same protections as the original region to the mirrored regions.
How to find it
- Manual Dynamic Analysis. Using an external debugger, send write transactions to mirrored regions to test if original, write-protected regions are modified. Similarly, send read transactions to mirrored regions to test if the original, read-protected signals can be read.
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 teamT 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 freeSource: MITRE Common Weakness Enumeration, CWE version 4.19.1. CWE is a trademark of The MITRE Corporation.