Skip to main content
VulnerabilityPublished Updated

CVE-2024-14041: Legion of the Bouncy Castle BC-JAVA · Timing Side Channel

Affects Legion of the Bouncy Castle BC-JAVASource CVE Database V5

0

Not known to be exploited · CVSS 8.2 High : upgrade to 1.78 soon.

Data as of 26 Oct 2026, 17:16 UTC

CVSS 4.0 base score
8.2High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.4% chance of exploitation in 30 days – higher than 39% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 1.78
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

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 28 Jul 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade BC-JAVA and bcprov to 1.78.

Affected software

ProductAffectedFixed in
Legion of the Bouncy Castle Inc.BC-JAVAAffected
  • >=1.73 <1.78
Fixed in
  • 1.78
GitHubbcprovpkg:github/bcprovOther threatsAffected
  • >=1.73 <1.78
Fixed in
  • 1.78

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

If you cannot patch yet, users should consider limiting exposure of the affected decapsulation operations to untrusted parties or applying additional mitigations to reduce timing side-channel leakage if possible.

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.

References

Community reviews

Loading reviews…