CVE-2024-14041CWE-208

CVE-2024-14041

Medium · published July 28, 2026

CVSS v3.1
5.9
EPSS
0%
Percentile
26.8
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
5.9 · MEDIUM
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS v4.0
Not supplied
EPSS
0.00345 · 26.8th percentile
Weakness
CWE-208 · Observable Timing Discrepancy
Published
2026-07-28T12:17Z
Affected products (1)
ProductVersionsFixed in
bouncycastle/bc-java≥ 1.73, < 1.781.78
References (4)
EPSS history
Timeline
  • 28 JUL 08:05Z
    ML-KEM (Kyber) decapsulation leaks private key information through non-constant-time division in message decoding and ciphertext compression (KyberSlash)
    cvelistv5