12 vulnerabilities classified as CWE-1191. AI Chinese analysis included.
CWE-1191 represents a critical hardware security weakness where on-chip debug and test interfaces, such as JTAG, lack proper access control mechanisms. This flaw allows unauthorized entities to bypass authentication checks and directly access internal registers or enter test modes through physical connections. Attackers typically exploit this vulnerability by connecting to exposed debug pins to extract sensitive intellectual property, reverse-engineer firmware, or manipulate device behavior for malicious purposes. To mitigate this risk, developers must implement robust hardware-enforced access controls, ensuring that debug interfaces are disabled in production builds or require strong cryptographic authentication before granting access. Additionally, employing secure boot processes and physically securing device ports further reduces the attack surface, preventing unauthorized individuals from leveraging these low-level interfaces to compromise system integrity and confidentiality.
If the JTAG interface on this device is not hidden by the manufacturer, the interface may be identified using tools such as JTAGulator. If it is hidden but not disabled, it can be exposed by physically wiring to the board. By issuing a "halt" command before the OS starts, the unauthorized user pauses the watchdog timer and prevents the router from restarting (once the watchdog timer would have expired). Having paused the router, an unauthorized user is able to execute code and inspect and modify data in the device, even extracting all of the router's firmware. This allows the user to examine tIn order to prevent exposing the debugging interface, manufacturers might try to obfuscate the JTAG interface or blow device internal fuses to disable the JTAG interface. Adding authentication and authorization to this interface makes use by unauthorized individuals much more difficult.... PassChkValid: begin if(hashValid) begin if(exp_hash == pass_hash) begin pass_check = 1'b1; end else begin pass_check = 1'b0; end state_d = Idle; end else begin state_d = PassChkValid; end end ...... case (state_q) Idle: begin ... else if ( (dm::dtm_op_e'(dmi.op) == dm::DTM_PASS) && (miss_pass_check_cnt_q != 2'b11) ) begin state_d = Write; pass_mode = 1'b1; end ... end ... PassChkValid: begin if(hashValid) begin if(exp_hash == pass_hash) begin pass_check = 1'b1; end else begin pass_check = 1'b0; miss_pass_check_cnt_d = miss_pass_check_cnt_q + 1 end state_d = Idle; end else begin state_d = PassChkValid; end end ...Vulnerabilities classified as CWE-1191 represent 12 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.