Weakness · High
CWE-1342: Information Exposure through Microarchitectural State after Transient Execution
What it is
The processor does not properly clear microarchitectural state after incorrect microcode assists or speculative execution, resulting in transient execution.
- Severity (our rating)
- High
- Likelihood of exploit
- Not rated by MITRE
- Introduced during
- Architecture and Design, Requirements
- Exploited in the wild
- No CVE in CISA's catalog
In more detail
In many processor architectures an exception, mis-speculation, or microcode assist results in a flush operation to clear results that are no longer required. This action prevents these results from influencing architectural state that is intended to be visible from software. However, traces of this transient execution may remain in microarchitectural buffers, resulting in a change in microarchitectural state that can expose sensitive information to an attacker using side-channel analysis. For example, Load Value Injection (LVI) can exploit direct injection of erroneous values into intermediate load and store buffers. Several conditions may need to be fulfilled for a successful attack: incorrect transient execution that results in remanence of sensitive information; attacker has the ability to provoke microarchitectural exceptions; operations and structures in victim code that can be exploited must be identified.
What an attacker can do
- Modify Memory (Confidentiality, Integrity)
- Read Memory (Confidentiality, Integrity)
- Execute Unauthorized Code or Commands (Confidentiality, Integrity)
How to prevent it
Architecture and Design
- Hardware ensures that no illegal data flows from faulting micro-ops exists at the microarchitectural level.
Build and Compilation
- Include instructions that explicitly remove traces of unneeded computations from software interactions with microarchitectural elements e.g. lfence, sfence, mfence, clflush.
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.