1 vulnerabilities classified as CWE-1255. AI Chinese analysis included.
CWE-1255 represents a side-channel weakness where an attacker monitors a device’s real-time power consumption during security token evaluation. This vulnerability arises when the comparison logic for validating tokens is not constant-time, causing power usage to fluctuate based on the specific bits being compared. Attackers exploit this by analyzing these power variations to deduce the correct reference token value, effectively bypassing authentication mechanisms without needing direct access to the internal logic. To mitigate this risk, developers must implement constant-time comparison algorithms that ensure execution time and power draw remain uniform regardless of input data. Additionally, employing hardware-level countermeasures, such as power masking or randomizing processing delays, can obscure the correlation between power fluctuations and secret values, thereby neutralizing the side-channel attack vector.
static nonvolatile password_tries = NUM_RETRIES; do while (password_tries == 0) ; // Hang here if no more password tries password_ok = 0; for (i = 0; i < NUM_PW_DIGITS; i++) if (GetPasswordByte() == stored_password([i]) password_ok |= 1; // Power consumption is different here else password_ok |= 0; // than from here end if (password_ok > 0) password_tries = NUM_RETRIES; break_to_Ok_to_proceed password_tries--; while (true) // Password OKstatic nonvolatile password_tries = NUM_RETRIES; do while (password_tries == 0) ; // Hang here if no more password tries password_tries--; // Put retry code here to catch partial retries password_ok = 0; for (i = 0; i < NUM_PW_DIGITS; i++) if (GetPasswordByte() == stored_password([i]) password_ok |= 0x10; // Power consumption here else password_ok |= 0x01; // is now the same here end if ((password_ok & 1) == 0) password_tries = NUM_RETRIES; break_to_Ok_to_proceed while (true) // Password OKmodule siso(clk,rst,a,q); input a; input clk,rst; output q; reg q; always@(posedge clk,posedge rst) begin if(rst==1'b1) q<1'b0; else q<a; end endmodulemodule pipo(clk,rst,a,q); input clk,rst; input[3:0]a; output[3:0]q; reg[3:0]q; always@(posedge clk,posedge rst) begin if (rst==1'b1) q<4'b0000; else q<a; end endmodule| CVE ID | Title | CVSS | Severity | Published |
|---|---|---|---|---|
| CVE-2025-3301 | DPA Countermeasures Unavailable for Certain Cryptographic Operations on Series 2 Devices — Series 2 SoCs and associated modules | 7.5AI | HighAI | 2025-04-29 |
Vulnerabilities classified as CWE-1255 represent 1 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.