Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAchieve co-residency or timing observation of HQC service
-
DeliveryTrigger repeated decapsulation operations
-
ExploitMeasure cache-line access or decapsulation timing
-
ExecutionCorrelate leakage with secret-dependent sampler/table access
-
ImpactRecover HQC private key material
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Timing attack prevention
|
| Exploitation Conditions | The target must actually use Bouncy Castle for Java's HQC post-quantum KEM (versions before 1.86) for encapsulation/decapsulation - this is the decisive prerequisite and sharply limits the exposed population, since HQC is a newly standardized algorithm with minimal production adoption. Exploitation additionally requires the attacker to observe microarchitectural cache behaviour (realistically via code co-resident on the same physical CPU/host, e.g. shared-tenancy environments) or to precisely measure decapsulation timing across many operations; the sampler re-expands the secret key from its seed on every decapsulation, which aids repeated measurement. Limiting factors per the CVSS 4.0 vector: local attack vector (AV:L), high attack complexity (AC:H), and a present-type attack requirement (AT:P) meaning many controlled measurements under specific conditions are needed; isolated single-tenant hardware largely neutralizes the cache channel. |
| Impact | This is a genuine cryptographic weakness but a comparatively low-urgency operational priority. The only CVSS vector supplied is CVSS 4.0 (5.9, Medium): AV:L/AC:H/AT:P/PR:N/UI:N with VC:H and VI/VA:N - meaning local vector, high attack complexity, a specific attack requirement (AT:P), no privileges or user interaction, and a confidentiality-only impact (HQC private-key recovery). CWE-208 (observable timing/microarchitectural discrepancy) is consistent with the description's two side channels (GF(2^8) table lookups creating operand-dependent cache-line access, plus a data-dependent fixed-weight sampler). No EPSS score, no CISA KEV listing, and no POC indicator are present in the input, so by the precision rules this is 'no public exploit identified at time of analysis.' The signals are internally consistent rather than conflicting: a local/high-complexity side channel yielding key disclosure legitimately lands in the Medium band and is NOT a mass-exploitation threat. The practical caveat is that side-channel severity is highly deployment-dependent - on shared-tenancy or co-resident hardware the cache channel is materially more realistic than the Medium score suggests, while on isolated single-tenant hosts it is largely theoretical. EPSS is absent (not low), so no probabilistic exploitation estimate can be asserted. |
| Exploit ScenarioDerived | An attacker running co-resident code on the same physical host as a service that uses Bouncy Castle's HQC KEM (e.g. a shared cloud tenant or a local unprivileged process) observes cache-line access patterns during repeated decapsulations - each of which re-expands the secret key from its seed - and over many samples reconstructs information about the HQC private key. Alternatively, a remote-ish attacker who can precisely time many decapsulation operations exploits the sampler's early-exit/secret-indexed store to leak key-derived data. No public exploit code is identified at time of analysis, and the high attack complexity (AC:H/AT:P) reflects the many precise measurements required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 03, 2026
Bouncy Castle for Java before 1.86 leaks secret-derived information from its HQC post-quantum KEM through two side channels, allowing a local attacker who can observe CPU cache behaviour or precisely measure decapsulation timing to recover information about the HQC private key. Only deployments that actually perform HQC encapsulation or decapsulation on the affected library are exposed, and exploitation requires either code co-resident on the same physical host or many carefully controlled timing measurements, so isolated single-tenant hardware largely neutralises the cache channel. There is no public exploit identified at time of analysis; this is a genuine cryptographic weakness but a comparatively low-urgency operational priority, and a vendor fix is available in version 1.86.
RemediationAI
Upgrade Bouncy Castle for Java to version 1.86 or later, which per the vendor advisory replaces the secret-indexed GF(2^8) lookup tables with table-free field arithmetic and makes the fixed-weight support sampler branch-free within a batch of candidates while preserving output and randomness consumption; the fix is visible in upstream commit 283acd81048ec9e951032525279d3b58aaf0bb03 (https://github.com/bcgit/bc-java/commit/283acd81048ec9e951032525279d3b58aaf0bb03) and the advisory is at https://github.com/bcgit/bc-java/wiki/CVE%E2%80%902026%E2%80%9018040. If upgrading immediately is not possible, the most effective compensating control is to stop using the HQC KEM entirely on affected versions where the application does not require it (for example, prefer the other NIST-selected KEMs already supported by the library), accepting the trade-off that any interoperability or compliance requirement specifically mandating HQC cannot be met until the upgrade lands. Where HQC must remain in use, run decapsulation only on isolated, single-tenant hardware without untrusted co-resident workloads and avoid shared-tenancy/cloud hosts where an attacker could observe cache behaviour, since that removes the cache channel but the trade-off is reduced deployment flexibility and cost; additionally, restrict untrusted code execution and profiling/debug access on hosts performing HQC operations to make high-precision decapsulation timing measurement harder, recognising that this reduces rather than eliminates the timing channel and is not a substitute for patching. No vendor-released patch exists for versions before 1.86 other than upgrading to 1.86, so treat the upgrade as the primary and durable fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This is a side-channel flaw (CWE-208, observable timing discrepancy) in the HQC (Hamming Quasi-Cyclic) key-encapsulation mechanism implemented in Bouncy Castle for Java. HQC is a newly standardised code-based post-quantum KEM, and its implementation made two secret-dependent choices: the GF(2^8) field arithmetic used lookup tables indexed by field elements, so the cache line touched depended on the operand value, and the fixed-weight support sampler terminated its duplicate scan as soon as a collision was found while storing accepted positions at a secret index. Both routines process secret material during encapsulation and decapsulation, and because the sampler re-expands the secret key from its seed on every decapsulation, an attacker gets repeated, reproducible measurement opportunities against the same secret. The cache channel is realistically reachable via code sharing the same physical CPU or host (for example shared-tenancy/cloud environments), while the timing channel requires many precise decapsulation measurements; the CVSS 4.0 vector reflects this with AV:L, AC:H and a present-type attack requirement (AT:P), meaning numerous controlled observations under specific conditions are needed rather than a single-shot attack. The upstream fix removes the tables from the field arithmetic and makes the sampler branch-free within a batch of candidates, leaving output and randomness consumption unchanged; per the independent assessment the vector is CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N, i.e. confidentiality-only impact with no integrity or availability effect.
Know when Java gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/U:Amber
Local co-residency/timing observation gives AV:L; many precise measurements justify AC:H; no auth needed (PR:N); only private-key disclosure, so C:H and I:N/A:N.
Primary rating from Vendor (bcorg).
CVSS VectorVendor: bcorg
DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-92004
GHSA-rxw8-22c7-wgq6
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB