Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify KCCMBlockCipher service operating without AAD
-
DeliverySubmit enc(0,N1) chosen-plaintext query
-
ExploitSubmit enc(0,N2) and enc(P,N2) chosen-plaintext queries
-
InstallXOR-cancel nonce-2 keystream terms across the three outputs
-
C2Assemble forged C_forge and T_forge via block-level arithmetic
-
ExecutePresent forged ciphertext to decryption endpoint under nonce N1
-
ImpactDecryption accepts forged message as authentic
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Integrity verification
|
| Exploitation Conditions | Exploitation requires all three of the following conditions simultaneously: (1) the application uses KCCMBlockCipher specifically - this flaw does not affect CCMBlockCipher, GCMBlockCipher, or any other Bouncy Castle AEAD mode; (2) encryption operations are performed with absent or zero-length AAD - any non-empty AAD triggers G1 processing and prevents the attack; (3) the attacker has chosen-plaintext oracle access - the ability to submit at least three arbitrary plaintexts to the encryption function and receive the corresponding ciphertext-plus-tag outputs. Factors that limit exploitation include: DSTU 7624 is primarily required in Ukrainian cryptographic standards contexts, confining the realistic at-risk population to compliant infrastructure in that regulatory domain; the attack requires an active, interactive encryption oracle rather than passive traffic observation; no automated exploitation framework for this class of AEAD forgery is publicly known; and the vulnerability carries no confidentiality impact, so passive eavesdropping alone cannot exploit it. No special conditions apply beyond the three prerequisites above: no default-configuration caveat, but also no universal network reachability without them. |
| Impact | The provided CVSS 4.0 score of 8.7 with AC:L and AT:N likely overstates real-world risk by treating exploitation as straightforward and requiring no attack prerequisites. In practice, the cross-nonce forgery requires access to a chosen-plaintext encryption oracle operating specifically under KCCMBlockCipher without AAD - a meaningful prerequisite limiting exposure to applications that expose encryption functionality to untrusted callers, use DSTU 7624 specifically, and operate without associated data. DSTU 7624 is primarily mandated in Ukrainian standards-compliant cryptographic infrastructure and is not a globally dominant cipher choice, substantially narrowing the affected population. No EPSS data was provided for quantitative exploitation probability comparison, and absence from CISA KEV indicates no confirmed in-the-wild exploitation at time of analysis. The integrity-only impact (VI:H, no confidentiality) confirms this is an authentication bypass and forgery risk rather than a data exfiltration vulnerability - the 'Information Disclosure' tag in the source data conflicts with the CVSS impact metrics and appears to be erroneous metadata. For deployments actually using KCCMBlockCipher in an adversarially-accessible context without AAD, the integrity risk is severe; for all other Bouncy Castle users, effective risk is negligible. |
| Exploit ScenarioDerived | An attacker interacting with a service that exposes a KCCMBlockCipher encryption oracle (such as a signing or token-generation API) without any AAD submits three crafted encryption requests: enc(zeros, N1), enc(zeros, N2), and enc(target_plaintext, N2), all with empty AAD. Because the MAC is nonce-independent under the vulnerable code, the attacker XOR-combines the resulting ciphertext blocks and tags to cancel the nonce-2 keystream, producing a forged (ciphertext, tag) pair that the decryptor accepts as valid under nonce N1 - a nonce the attacker never used as an encryption input. The regression test CCMModeNonceBindingTest added in the fix commit implements this exact technique and constitutes a functional demonstration of the attack. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 03, 2026
Cross-nonce AEAD forgery in Bouncy Castle for Java's KCCMBlockCipher (DSTU 7624 CCM mode) allows an attacker with chosen-plaintext oracle access to forge valid authenticated ciphertext under an un-queried nonce when no associated authenticated data is present. All bc-java releases before 1.85 and bc-lts-java releases before 2.73.12 are affected. The G1 initialization block - which binds the nonce into the MAC under the DSTU 7624:2014 standard - was conditionally skipped when no AAD bytes were supplied, leaving the authentication tag independent of the nonce and breaking the core AEAD security guarantee. No public exploit has been independently released and this vulnerability is not listed in CISA KEV, though the fix commits include a working regression test that fully demonstrates the forgery technique.
RemediationAI
Upgrade bc-java to version 1.85 or later, or bc-lts-java to version 2.73.12 or later; these releases unconditionally process the G1 nonce-binding block regardless of AAD presence. Fix commits are available at https://github.com/bcgit/bc-java/commit/697794413ebf7bc5e3fce609a707826ba52981af and https://github.com/bcgit/bc-java/commit/7d79aa76e984da85f2a541cae8ba2ae56e1713bc, and the vendor advisory is at https://github.com/bcgit/bc-java/wiki/CVE-2026-12803. If immediate patching is not feasible, the most targeted compensating control is to mandate non-empty associated authenticated data on all KCCMBlockCipher invocations - even a fixed, application-specific identifier as AAD is sufficient to restore G1 processing and the nonce-binding property. The trade-off is that this requires application-level code changes to inject AAD where it was previously absent, and any mismatch in AAD between encrypt and decrypt callers will cause legitimate decryptions to fail. Applications not using KCCMBlockCipher require no action.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
KCCMBlockCipher implements KCCM mode (a CCM variant) for DSTU 7624, the Ukrainian national block cipher standard. In AEAD, the G1 block is a mandatory initialization step that folds the nonce, plaintext length, and MAC-size flag into the authentication tag, ensuring the tag is cryptographically bound to the specific nonce used. The vulnerability (CWE-354, Improper Validation of Integrity Check Value) arose because G1 processing was gated on the presence of associated text: when zero AAD bytes were provided - a fully permitted and common usage - the G1 block was skipped entirely. This left the MAC accumulator nonce-independent. A chosen-plaintext adversary can exploit this by cancelling nonce-dependent keystreams across three encryption oracle queries (enc(0,N1), enc(0,N2), enc(P,N2), all with empty AAD) and constructing a forged (ciphertext, tag) pair that decrypts to arbitrary plaintext P under nonce N1 - a nonce never submitted as an encryption input. The patch in commit 697794413ebf7bc5e3fce609a707826ba52981af unconditionally processes G1 with a flag bit reflecting AAD presence, restoring the nonce-binding property. Affected CPEs are cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-java:*:*:*:*:*:*:*:* and cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-lts-java:*:*:*:*:*:*:*:*.
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:H/VA:N/SC:N/SI:N/SA:N/U:Amber
AC:H reflects the chosen-plaintext oracle prerequisite with empty AAD; integrity-only forgery maps to I:H with no confidentiality or availability impact.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Primary rating from Vendor (bcorg).
CVSS VectorVendor: bcorg
DescriptionCVE.org
In Bouncy Castle for Java before 1.85, KCCMBlockCipher MAC does not bind nonce when AAD is absent (cross-nonce AEAD forgery). This issue also affects Bouncy Castle for Java LTS before 2.73.12.
Executive ViewAI
Bouncy Castle for Java-a cryptographic component widely used in enterprise applications-contains a vulnerability allowing attackers to forge valid authenticated encrypted data under specific conditions, compromising integrity guarantees in systems using affected versions (bc-java before 1.85 or bc-lts-java before 2.73.12). Patched versions are available.
Apply vendor patch.
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
Same technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| openSUSE Leap 16.0 | Fixed |
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise Desktop 15 SP2 | Affected |
| SUSE Linux Enterprise Desktop 15 SP3 | Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-52134
GHSA-4r33-j73q-cw77
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB