What’s Vulnerable › Vulnerabilities
CVE-2024-37880
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.7% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2024-06-10 · updated 2026-06-17
- Weakness: CWE-203
Description
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.
Affected products
- Pq-Crystals Kyber: before 2024-06-03 — fixed in 2024-06-03
How to fix
Upgrade to a fixed version: Pq-Crystals Kyber 2024-06-03. Check the vendor advisory for mitigations.
References
- https://github.com/antoonpurnal/clangover
- https://github.com/pq-crystals/kyber/commit/9b8d30698a3e7449aeb34e62339d4176f11e3c6c
- https://news.ycombinator.com/item?id=40577486
- https://pqshield.com/pqshield-plugs-timing-leaks-in-kyber-ml-kem-to-improve-pqc-implementation-maturity/
- https://twitter.com/purnaltoon/status/1797644696568959476
- https://github.com/antoonpurnal/clangover
- https://github.com/pq-crystals/kyber/commit/9b8d30698a3e7449aeb34e62339d4176f11e3c6c
- https://news.ycombinator.com/item?id=40577486
- https://pqshield.com/pqshield-plugs-timing-leaks-in-kyber-ml-kem-to-improve-pqc-implementation-maturity/
- https://twitter.com/purnaltoon/status/1797644696568959476
Get alerted when CVE-2024-37880 or the next vulnerability affects your stack