Intel

AIKIDO-2026-805345

bcprov-jdk18on is vulnerable to Timing Attacks

Timing AttacksCVE-2024-14041 Published 5 days ago

82

High Risk

This Affects:

JAVAbcprov-jdk18on
1.73 - 1.77
Fixed in 1.78
Are you affected? Scan for Free

TL;DR

Poly.toMsg, Poly.compressPoly, and PolyVec.compressPolyVec in the ML-KEM (CRYSTALS-Kyber) implementation divide secret-derived polynomial coefficients by the modulus q in non-constant time. An attacker who can measure the timing of many decapsulations that reuse the same long-term private key can recover that key (KyberSlash1 and KyberSlash2). Encapsulation compression that only touches public ciphertext values is not affected. The fix replaces those divisions with constant-time equivalents.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and your application performs ML-KEM/Kyber decapsulation with a long-lived private key where an attacker can observe timing.

Background info

bcprov-jdk18on is vulnerable to Timing Attacks in versions 1.73 - 1.77.

How to fix this

Upgrade the org.bouncycastle:bcprov-jdk18on library to the patch version.