This vulnerability occurs when a hardware design incorrectly forwards data before its security or permission checks have finished processing. It's a timing flaw where the data channel gets ahead of the control channel, potentially leaking information.
Modern hardware often uses separate control and data channels to boost performance. A bug in the logic that manages errors and security can allow data to 'race ahead' and be used or observed before the system confirms it's safe to do so. This desynchronization creates a critical window where unauthorized data access can happen. The real-world impact is a loss of data confidentiality, as seen in exploits like Meltdown. In that case, a CPU speculatively loaded privileged data for performance, assuming it could clean up all traces if the access was later deemed illegal. However, secret data remained in the microarchitectural state, proving that assumption false and allowing attackers to retrieve it.
Impact: Read MemoryRead Application Data
The firewall and data routing logic becomes de-synchronized due to a hardware logic bug allowing components that should not be allowed to communicate to share data. For example, consider an SoC with two processors. One is being used as a root of trust and can access a cryptographic key storage peripheral. The other processor (application cpu) may run potentially untrusted code and should not access the key store. If the application cpu can issue a read request to the key store which is not blocked due to de-synchronization of data routing and the bus firewall, disclosure of cryptographic keys is possible.
All data is correctly buffered inside the interconnect until the firewall has determined that the endpoint is allowed to receive the data.