{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-1544","assignerOrgId":"50d2cd11-d01a-48ed-9441-5bfce9d63b27","state":"PUBLISHED","assignerShortName":"wolfSSL","dateReserved":"2024-02-15T17:38:16.603Z","datePublished":"2024-08-27T18:44:52.770Z","dateUpdated":"2026-01-27T21:58:42.146Z"},"containers":{"cna":{"affected":[{"defaultStatus":"unknown","product":"wolfSSL","programFiles":["wolfcrypt/src/ecc.c"],"vendor":"wolfSSL","versions":[{"lessThanOrEqual":"5.6.4","status":"affected","version":"0","versionType":"Release"}]}],"credits":[{"lang":"en","type":"finder","user":"00000000-0000-4000-9000-000000000000","value":"Florian Sieck, Luca Wilke and Thomas Eisenbarth from Universität zu Lübeck"}],"datePublic":"2024-07-08T17:30:00.000Z","descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Generating the ECDSA nonce k samples a random number r and then <br>truncates this randomness with a modular reduction mod n where n is the <br>order of the elliptic curve. Meaning k = r mod n. The division used <br>during the reduction estimates a factor q_e by dividing the upper two <br>digits (a digit having e.g. a size of 8 byte) of r by the upper digit of <br>n and then decrements q_e in a loop until it has the correct size. <br>Observing the number of times q_e is decremented through a control-flow <br>revealing side-channel reveals a bias in the most significant bits of <br>k. Depending on the curve this is either a negligible bias or a <br>significant bias large enough to reconstruct k with lattice reduction <br>methods. For SECP160R1, e.g., we find a bias of 15 bits."}],"value":"Generating the ECDSA nonce k samples a random number r and then \ntruncates this randomness with a modular reduction mod n where n is the \norder of the elliptic curve. Meaning k = r mod n. The division used \nduring the reduction estimates a factor q_e by dividing the upper two \ndigits (a digit having e.g. a size of 8 byte) of r by the upper digit of \nn and then decrements q_e in a loop until it has the correct size. \nObserving the number of times q_e is decremented through a control-flow \nrevealing side-channel reveals a bias in the most significant bits of \nk. Depending on the curve this is either a negligible bias or a \nsignificant bias large enough to reconstruct k with lattice reduction \nmethods. For SECP160R1, e.g., we find a bias of 15 bits."}],"impacts":[{"descriptions":[{"lang":"en","value":"Information Disclosure"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"LOCAL","availabilityImpact":"NONE","baseScore":4.1,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"HIGH","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-203","description":"CWE-203 Observable Discrepancy","lang":"en","type":"CWE"}]}],"providerMetadata":{"orgId":"50d2cd11-d01a-48ed-9441-5bfce9d63b27","shortName":"wolfSSL","dateUpdated":"2026-01-27T21:58:42.146Z"},"references":[{"url":"https://github.com/wolfSSL/wolfssl/releases/tag/v5.7.2-stable"},{"url":"https://github.com/wolfSSL/wolfssl/pull/7020"}],"source":{"discovery":"EXTERNAL"},"title":"ECDSA nonce bias caused by truncation","x_generator":{"engine":"Vulnogram 0.1.0-dev"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2024-08-27T19:14:00.889289Z","id":"CVE-2024-1544","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2024-08-27T19:14:35.190Z"}}]}}