COMMON WEAKNESS ENUMERATIONIncomplete

CWE-1264

Hardware Logic with Insecure De-Synchronization between Control and Data Channels

The hardware logic for error handling and security checks can incorrectly forward data before the security check is complete.

Abstraction

Base

Structure

Simple

Likelihood of Exploit

Medium

Understand the problem

What is the problem?

The hardware logic for error handling and security checks can incorrectly forward data before the security check is complete.

Extended description

Many high-performance on-chip bus protocols and processor data-paths employ separate channels for control and data to increase parallelism and maximize throughput. Bugs in the hardware logic that handle errors and security checks can make it possible for data to be forwarded before the completion of the security checks. If the data can propagate to a location in the hardware observable to an attacker, loss of data confidentiality can occur. 'Meltdown' is a concrete example of how de-synchronization between data and permissions checking logic can violate confidentiality requirements. Data loaded from a page marked as privileged was returned to the CPU regardless of current privilege level for performance reasons. The assumption was that the CPU could later remove all traces of this data during the handling of the illegal memory access exception, but this assumption was proven false as traces of the secret data were not removed from the microarchitectural state.

Root cause

How and when does the problem arise?

Lifecycle phase

Architecture and Design

The weakness can be introduced in the data transfer or bus protocol itself or in the implementation.

Lifecycle phase

Implementation

Risk

What does successful exploitation lead to?

Read MemoryRead Application Data

Affected security scopes: Confidentiality

Defence

How is it prevented and fixed?

Architecture and Design

Architecture and design approach

Detail
Thoroughly verify the data routing logic to ensure that any error handling or security checks effectively block illegal dataflows.