CWE-1276: Hardware Child Block Incorrectly Connected to Parent System
Signals between a hardware IP and the parent system design are incorrectly connected causing security risks.
How it's found
Hardware Child Block Incorrectly Connected to Parent System is typically found by tracing untrusted input from where it enters the system to the point where it is used without the check or neutralization this weakness describes, combining manual code review with dynamic testing.
Individual hardware IP must communicate with the parent system in order for the product to function correctly and as intended. If implemented incorrectly, while not causing any apparent functional issues, may cause security issues. For example, if the IP should only be reset by a system-wide hard reset, but instead the reset input is connected to a software-triggered debug mode reset (which is also asserted during a hard reset), integrity of data inside the IP can be violated.
Vulnerable vs. safe
input clk, reset;input [31:0] data_in;input data_in_security_level;...
.clk(clk),.rst(rst),.data_in(rdata),//Copy-and-paste error or typo grounds data_in_security_level (in this example 0=secure, 1=non-secure) effectively promoting all data to "secure").data_in_security_level(1'b0),...tz_peripheral u_tz_peripheral();...// IP definitionmodule tz_peripheral(clk, reset, data_in, data_in_security_level, ...);endmodule// Instantiation of IP in a parent systemmodule soc(...)endmodule.clk(clk),.rst(rst),.data_in(rdata),// This port is no longer grounded, but instead driven by the appropriate signal.data_in_security_level(rdata_security_level),...tz_peripheral u_tz_peripheral();...// Instantiation of IP in a parent systemmodule soc(...)endmoduleConsequences
- Varies by Context
Mitigations
- Testing: System-level verification may be used to ensure that components are correctly connected and that design security requirements are not violated due to interactions between various IP blocks.
Where this fits in a TurboPentest engagement
This weakness is not covered by the automated black-box pentest. IntegSec pentesters cover it in a manual engagement.
Frequently asked questions
What is CWE-1276?
Signals between a hardware IP and the parent system design are incorrectly connected causing security risks.
How do you find Hardware Child Block Incorrectly Connected to Parent System?
Hardware Child Block Incorrectly Connected to Parent System is typically found by tracing untrusted input from where it enters the system to the point where it is used without the check or neutralization this weakness describes, combining manual code review with dynamic testing.
What is the impact of CWE-1276?
Varies by Context
Does TurboPentest test for Hardware Child Block Incorrectly Connected to Parent System?
This weakness is not covered by the automated black-box pentest. IntegSec pentesters cover it in a manual engagement.
Related CWEs
Written and reviewed by
Michel Chamberland - Founder & CEO, IntegSec
CISSP, OSCP, OSCE, CEH, GIAC, CCSK · 20+ years in offensive security
Michel has spent 20+ years on offensive security teams including IBM X-Force Red and Trustwave SpiderLabs, leading penetration tests, red team engagements, and breach response for Fortune 500 customers. He is the founder of IntegSec and the architect of TurboPentest.
Find these issues before an attacker does
TurboPentest runs an agentic AI pentest against your target and reports findings with proof, from $99 per target.
Start a pentest