5.9mediumMedium
CVE-2024-14041
Bouncycastle Bc-Java
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.
Exploitation status
- Published references include exploit or proof-of-concept material. There is no confirmation it is being used in real attacks.
- A vendor advisory or patch reference has been published.
What the metrics mean
- It is reachable over a network, without needing local access.
- For an attacker who can reach it, exploitation depends on conditions outside the attacker's control.
- To exploit it, no account is needed.
- Beyond that, no action by a user is required.
Scoring
- CVSS
- 5.9 (v3.1)
- Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N- CVSS v4
- 8.2
- Weakness
- CWE-208
- Assigned by
- 91579145-5d7b-4cc5-b925-a0262ff19630
Dates
- Published
- 2026-07-28
- Last modified
- 2026-08-26
- Sources
- NVD
Affected products
- Bouncycastle Bc-Java1.73 - 1.78
As listed in the NVD configuration data. Not a statement about your estate.