Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconApplication receives request requiring crypto operation
-
Deliverybc-fips 2.1.x calls native JNI entropy source
-
ExploitRDSEED/RDRAND fails persistently (hypervisor withholds or HW fault)
-
InstallJNI loop retries without bound
-
C2Thread hangs indefinitely inside JNI call
-
ExecuteThread pool exhausted
-
ImpactApplication denies service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The vulnerability requires all of the following to be simultaneously true: the application must use bc-fips in the 2.1.x series strictly before version 2.1.3 (bc-fips 1.0.x, bc-fips 2.0.x, and the standard bcprov library are explicitly NOT affected); execution must occur on an Intel x86 platform where the JNI native entropy path is active; and one of three persistent entropy failure conditions must be present - a hardware fault in the on-chip entropy source, extreme DRBG exhaustion from simultaneous entropy requests across many CPU cores, or a hypervisor or VMM that does not forward RDRAND and RDSEED instructions to the guest. The third condition (hypervisor non-forwarding) is the most operationally common and requires no attacker-side action beyond being co-resident on or having network access to the affected VM. Exploitation is strictly limited to denial of service; no code execution, credential theft, or cryptographic material exposure is achievable via this path. Once triggered, the hung thread cannot be recovered by Java interrupt signals or application-level timeouts because the spin occurs entirely within the native JNI call frame. |
| Impact | The vendor-supplied CVSS 4.0 score of 8.7 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N reflects pure availability impact assessed at low attack complexity, which is defensible in the worst-case hypervisor scenario: if the VMM never forwards RDRAND/RDSEED to the guest, entropy failure is immediate and deterministic on every call, requiring zero attacker sophistication. No EPSS score was provided in the available intelligence, and the vulnerability is absent from CISA KEV, indicating no confirmed active exploitation at time of analysis. Real-world risk is strongly deployment-dependent: in cloud or VM environments where the hypervisor withholds Intel entropy instruction forwarding - a configuration found in some KVM, Xen, and older cloud provider setups - any application thread triggering native entropy seeding hangs permanently, making this a reliable, unauthenticated DoS vector against any network-exposed API. On bare-metal Intel hardware with functional on-chip entropy, the risk is meaningfully lower, as triggering the condition requires either a hardware fault or sustained DRBG exhaustion under extreme multi-core load. Scope is explicitly narrowed to bc-fips 2.1.x before 2.1.3; bcprov and the bc-fips 1.0.x and 2.0.x series are not affected, limiting the exposure surface to organizations specifically using the 2.1.x FIPS-certified release line. |
| Exploit ScenarioDerived | In a cloud environment where the hypervisor does not forward RDRAND/RDSEED to the guest VM, any inbound request to a bc-fips 2.1.x application that triggers a cryptographic operation requiring entropy seeding - such as a TLS handshake initiation, server-side key generation, or session token creation - causes the handling thread to spin permanently inside the JNI call with no recovery possible from the Java side. No exploit code, credentials, or privileged network position are required; a remote unauthenticated attacker need only send enough such requests to exhaust the application's thread pool, taking the service offline within seconds depending on pool size. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 08, 2026
Unbounded retry loops in BC-FJA's JNI native entropy layer cause calling threads to hang indefinitely when Intel RDSEED or RDRAND instructions persistently fail, producing a non-interruptible thread-level denial of service in any Java FIPS application backed by bc-fips 2.1.x before 2.1.3. The affected JNI seeding routine re-issues the CPU entropy instruction without any iteration limit whenever the carry flag signals failure - a condition reproducible by hardware entropy source faults, DRBG exhaustion under heavy multi-core contention, or hypervisors that do not forward these Intel instructions to guest VMs. No public exploit code has been identified and the vulnerability is not listed in CISA KEV, but the conditions are routinely present in virtualized environments where hypervisors commonly withhold RDRAND/RDSEED forwarding, making this a realistic operational risk for enterprise Java FIPS deployments in cloud or VM-based infrastructure.
RemediationAI
Upgrade to bc-fips 2.1.3 or later, which introduces bounded retry counts (200 for RDSEED, 20 for RDRAND), inter-attempt pauses, and exception throwing on exhaustion, eliminating the infinite spin. The vendor advisory is available at https://github.com/bcgit/bc-java/wiki/CVE-2026-8798. For environments that cannot patch immediately, the most effective compensating control is to verify that the hypervisor or VM platform is configured to expose and forward RDRAND and RDSEED instructions to guest VMs - in KVM this is controlled via the CPU model or explicit feature flags, and in cloud environments this may require selecting a CPU platform that passes through entropy instructions. If the hypervisor cannot be reconfigured, evaluate whether bc-fips allows substituting a software or OS-level entropy source in place of the native JNI source, but note that doing so may alter the FIPS 140 operational mode and compliance posture, requiring review with your certifying body or compliance team. Implementing application-level thread watchdog monitoring that alerts on JNI calls exceeding a time threshold provides detection capability while mitigation is pending, without affecting FIPS posture.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
BC-FJA (Bouncy Castle for Java FIPS) is the FIPS 140-2/140-3 certified variant of the Bouncy Castle cryptographic library for Java, identified by CPE cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-fja:*:*:*:*:*:*:*:*. Unlike the standard bcprov library, BC-FJA includes a JNI (Java Native Interface) layer that directly invokes Intel CPU entropy instructions: RDSEED, which reads from the on-chip hardware entropy source, and RDRAND, which reads from the on-chip DRBG. Both instructions signal failure by clearing the carry flag in the FLAGS register. The root cause is CWE-835 (Loop with Unreachable Exit Condition): the original JNI seeding routine checked the carry flag and, upon detecting failure, immediately re-issued the instruction with no iteration counter, no timeout, and no pause, making the exit condition logically unreachable under a persistent failure state. Because the infinite spin occurs entirely within a JNI call, the JVM's standard thread interruption and timeout mechanisms cannot preempt it. The fix introduced in 2.1.3 bounds retries to 200 attempts for RDSEED and 20 for RDRAND - twice the baselines recommended in Intel's Digital Random Number Generator software implementation guide - adds inter-attempt pauses, throws on exhaustion, and zeros any partially written buffer via an un-elidable memzero using a volatile pointer and assembly memory barrier to prevent compiler dead-store elimination.
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:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/U:Amber
AV:N reflects remotely-triggered entropy calls; AC:L because hypervisor non-forwarding makes failure deterministic on every call; pure availability loss with no C/I impact.
Primary rating from Vendor (bcorg).
CVSS VectorVendor: bcorg
Lifecycle Timeline
2DescriptionCVE.org
In Bouncy Castle for Java FIPS (BC-FJA) before bc-fips 2.1.3, the native entropy source used on Intel platforms retried the CPU entropy instructions without any bound. RDSEED and RDRAND report failure through their carry flag, and the JNI seeding routine spun re-issuing the instruction for as long as that flag stayed clear, so a persistent failure of the on-chip entropy source - whether from a hardware fault, from the underlying DRBG being exhausted by contention across many cores, or from a hypervisor that does not provide the instruction - left the calling thread looping indefinitely inside the JNI call, where it could be neither interrupted nor timed out. Any operation drawing from the native entropy source could therefore hang, denying service to the application. The retry loops are now bounded (200 attempts for RDSEED and 20 for RDRAND, twice the baselines given in Intel's Digital Random Number Generator software implementation guide), pausing between attempts and, on exhaustion, clearing any partially written buffer and throwing rather than continuing to spin. The clear is performed by an un-elidable memzero, which uses a volatile pointer and an assembly memory barrier so that a compiler cannot optimise the erase away as a dead store. Bouncy Castle for Java (bcprov) is not affected, as it has no native entropy source; the 1.0.X and 2.0.X FIPS series are not affected.
Blast Radius
ecosystem impact- 80 maven packages depend on org.bouncycastle:bc-fips (4 direct, 77 indirect)
Ecosystem-wide dependent count for version 2.1.0.
Articles & Coverage 1
Executive ViewAI
BC-FIPS versions 2.1.x before 2.1.3 contain an unbounded retry loop in the JNI entropy layer that causes Java FIPS applications to hang indefinitely in virtualized environments lacking hardware entropy instruction forwarding-a condition routinely present in cloud infrastructure. While no public exploit has been identified, this thread-level denial of service directly impacts cryptographic operations critical to compliance-dependent systems in regulated industries.
Vendor-released patch: bc-fips 2.1.3. Until patched, configure hypervisors to forward Intel RDRAND and RDSEED instructions to guest VMs; however, this control is unavailable in many cloud environments. Monitor thread health in FIPS cryptographic operations for early detection of hangs; alternatively, temporarily run critical FIPS applications on non-virtualized infrastructure.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Related Vulnerabilities in Bouncy Castle BC-FJA Cryptographic Engine Flaws
View all 2Oracle 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-54725
GHSA-v6w3-qrh8-qccc
NVD
CVE.org
EPSS
VulDB
Exploit-DB