This vulnerability occurs when a hardware fabric bridge, which connects different IP blocks on a chip, fails to properly verify access permissions for transactions passing through it. The bridge forwards requests without checking the master's privilege level or the hardware identity, effectively bypassing critical security controls.
In modern System-on-Chip (SoC) designs, various Intellectual Property (IP) blocks communicate through a central interconnect bus using different protocols like AHB or OCP. A fabric bridge acts as a translator and router between these blocks. For system security to hold, every transaction's access-control privileges—such as user vs. supervisor mode or secure vs. non-secure identity—must be preserved and enforced as it crosses this bridge. If the bridge is connected to a non-secure fabric or simply forwards transactions without validation, it creates a critical gap. An unauthorized master IP could access restricted slave IPs, or a slave could spoof its identity, leading to privilege escalation, data exposure, or unauthorized control within the chip. Ensuring the bridge actively checks and enforces these controls is essential for maintaining the SoC's security boundaries.
Impact: DoS: Crash, Exit, or RestartBypass Protection MechanismRead MemoryModify Memory
... module aes0_wrapper #(...)(...); ...
verilog
.en_o ( en_acct ),** ... ..);
assign en = en_acct && acct_ctrl_i;** ... endmodule ... module clint #(...)(...); ...
verilog
.en_o ( en ),** ... ); ... endmodule
module clint #(... ) ( ...
input logic acct_ctrl_i,** ... );
verilog
, en_acct** ; ...
verilog
en_acct** ), ...
verilog
assign en = en_acct && acct_ctrl_i;** ... endmodule