WaratekVRT Sign in

CVE-2026-18040

Severity5.9 Medium CVSS 4.0
WeaknessCWE-208
Published3 Oct 2026
Updated6 Oct 2026

Published 42 days ago. NVD often adds the list of affected products days or weeks after a CVE is published, and the other sources we check lag too. The scope and status here may change.

Description

In Bouncy Castle for Java before 1.86, HQC leaked secret-derived data through two side channels: its GF(2^8) arithmetic used lookup tables indexed by field elements, making the cache line touched a function of the operand, and its fixed-weight support sampler left its duplicate scan as soon as a collision was found and stored accepted positions at a secret index. Both run on secret inputs during encapsulation and decapsulation, and the sampler re-expands the secret key from its seed on every decapsulation, so an attacker able to observe cache behaviour or decapsulation timing can recover information about the HQC private key. The field arithmetic is now table-free and the sampler branch-free within a batch of candidates, with output and randomness consumption unchanged.

Exploitation status

No public exploit

No exploit has been reported in the sources we check.

  • CISA KEV not listed
  • VulnCheck KEV not listed
  • CISA Vulnrichment exploitation: none
  • Indexed PoC none indexed
  • EPSS 0.11% chance in 30 days

Waratek protection

No exploit published

Within Waratek scope. In the sources we check, nobody has published exploit code for this CVE or reported it being exploited.

A public code fix exists: bcgit/bc-java 283acd8.

  • Protection none
  • Action unverified
  • Review automated Upstream data
  • Record active
Decided by Medium or Low severity, no CISA or VulnCheck KEV listing, no PoC clearing the evidence bar, no CISA verdict, no Oracle advisory
Finding This CVE is MEDIUM severity, is not listed in CISA KEV or VulnCheck KEV, has no public exploit or PoC in any indexed source, carries no CISA Vulnrichment finding of a demonstrated exploit, and is not part of an Oracle Critical Patch Update. None of the signals that would put it in front of an engineer is present, and the volume of CVEs below that bar is too great to take one at a time, so no rule is written for it. This is a decision about what we act on, not a finding that the CVE is harmless — a patch may well be derivable, and a low-severity defect can still be one link in a longer chain.
Candidate fix https://github.com/bcgit/bc-java/commit/283acd81048ec9e951032525279d3b58aaf0bb03 : a commit: the change itself

References

URLTags
https://github.com/bcgit/bc-java/commit/283acd81048ec9e951032525279d3b58aaf0bb03 commit
https://github.com/bcgit/bc-java/wiki/CVE%E2%80%902026%E2%80%9018040

Timeline

Published2026-10-03By the CVE Program.
NVD record modified2026-10-06NVD's own last-modified date for this record.