Back to overview

CVE-2024-14041

HIGH
8.2
CVSS 4.0
Description
In Bouncy Castle for Java from 1.73 to before 1.78, three ML-KEM (CRYSTALS-Kyber) routines divided secret-derived polynomial coefficients by the modulus q: Poly.toMsg, which decodes the decrypted message, and the ciphertext compression routines Poly.compressPoly and PolyVec.compressPolyVec. An attacker able to measure the timing of a large number of decapsulations performed with the same long-term private key can recover that key. These are the KyberSlash1 (Poly.toMsg) and KyberSlash2 (ciphertext compression) divisions. Compression performed during encapsulation operates on values that become the public ciphertext and is not affected.

Metadata

CVE ID
CVE-2024-14041
State
PUBLISHED
Assigner
bcorg
Reserved
2026-07-28 05:07 UTC
Published
2026-07-28 08:05 UTC
Last updated
2026-07-28 12:55 UTC
Primary CWE
CWE-208
CWE-208 Observable Timing Discrepancy
Vendor / Product
Legion of the Bouncy Castle Inc. / BC-JAVA
Sources
cve.org  ·  NVD

Severity & Metrics

8.2 HIGH CVSS 4.0
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/U:Amber
SSVC — CISA Coordinator
Exploitation
none
Automatable
no
Tech. Impact
partial
Affected products (1)
VendorProductPlatformVersions
Legion of the Bouncy Castle Inc. BC-JAVA all 1.73 < 1.78
Weakness (CWE)
CWESourceDescription
CWE-208 cna CWE-208 Observable Timing Discrepancy
CVSS scores (1)
ScoreSeverityVersionSourceVector
8.2 HIGH 4.0 cna CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/U:Amber
Back to overview