CVE-2024-37880 json
The Kyber reference implementation before 9b8d306, when compiled by LLVM Clang through 18.x with some common optimization options, has a ti…
published 2024-06-10 2 y ago modified 2026-06-17 4 mo ago also EUVD-2024-36864
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 53%
- public exploits
- 0
- none known
Summary
The Kyber reference implementation before 9b8d306, when compiled by LLVM Clang through 18.x with some common optimization options, has a timing side channel that allows attackers to recover an ML-KEM 512 secret key in minutes. This occurs because poly_frommsg in poly.c does not prevent Clang from emitting a vulnerable secret-dependent branch.
Patch / fix
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.70% chance of exploitation in the next 30 days, higher than 53% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- pqshield.com https://pqshield.com/pqshield-plugs-timing-leaks-in-kyber-ml-kem-to-improve-pqc-implementation-maturity/ referenced PoC, tagged "exploit" by a source, unverified
- github.com https://github.com/antoonpurnal/clangover referenced PoC, tagged "exploit" by a source, unverified
- twitter.com https://twitter.com/purnaltoon/status/1797644696568959476 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected products
- pq-crystals kyber
Classification
- Weakness
-
- CWE-203 Observable Discrepancy
References
-
github.com
/pq-crystals/kyber/commit/9b8d30698a3e7449aeb34e62339d4176f11e3c6c
patch
-
pqshield.com
/pqshield-plugs-timing-leaks-in-kyber-ml-kem-to-improve-pqc-implementation-maturity/
exploit, third-party-advisory
-
github.com
/antoonpurnal/clangover
exploit
-
twitter.com
/purnaltoon/status/1797644696568959476
exploit
-
news.ycombinator.com
/item?id=40577486
not-applicable
Sources
- CVE List CVE-2024-37880
- NVD CVE-2024-37880
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.