Description
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.
Published: 2026-08-03
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in the KCCMBlockCipher implementation in Bouncy Castle for Java. When the additional authenticated data field is omitted, the cipher’s message authentication code does not bind the nonce to the MAC. This omission permits an attacker to forge ciphertexts for a different nonce, thus creating valid-cryptographic messages that were not originally generated. The result is an authentication bypass that can undermine confidentiality, integrity, or both depending on the application’s use of the encrypted data. The weakness is classified as CWE‑354, which reflects improper integrity protection.

Affected Systems

Affected vendor is Bouncy Castle Inc. Products BC-JAVA and BC-LTS-JAVA are impacted. Versions before 1.85 of BC-JAVA and before 2.73.12 of BC-LTS-JAVA contain the flaw, as indicated by the advisory and the commit history.

Risk and Exploitability

The CVSS score of 8.7 classifies the issue as high severity. The EPSS score is not available, so the current exploitation probability cannot be quantified, and the vulnerability is not listed in the CISA KEV catalog. The flaw can be leveraged by anyone who can feed crafted data to the library; the attack path requires the receiver to use KCCMBlockCipher without providing AAD. No environmental preconditions beyond normal usage of the cipher are specified.

Generated by OpenCVE AI on August 3, 2026 at 08:48 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Bouncy Castle library to version 1.85 or newer for BC-JAVA, or to version 2.73.12 or newer for BC-LTS-JAVA.
  • If an immediate upgrade is not feasible, configure the application to always provide AAD when initializing KCCMBlockCipher or restrict usage of the cipher in contexts where authentication is critical.
  • Monitor application logs for anomalous authentication failures or suspicious cipher usage and consider implementing additional integrity checks or circuit breakers that reject forged messages before they reach sensitive components.

Generated by OpenCVE AI on August 3, 2026 at 08:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 03 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 03 Aug 2026 16:15:00 +0000

Type Values Removed Values Added
First Time appeared Legion Of The Bouncy Castle Inc.
Legion Of The Bouncy Castle Inc. bc-java
Legion Of The Bouncy Castle Inc. bc-lts-java
Vendors & Products Legion Of The Bouncy Castle Inc.
Legion Of The Bouncy Castle Inc. bc-java
Legion Of The Bouncy Castle Inc. bc-lts-java

Mon, 03 Aug 2026 06:45:00 +0000


Mon, 03 Aug 2026 04:00:00 +0000

Type Values Removed Values Added
Description 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.
Title KCCMBlockCipher MAC does not bind nonce when AAD is absent (cross-nonce AEAD forgery)
Weaknesses CWE-354
References
Metrics cvssV4_0

{'score': 8.7, 'vector': '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'}


Subscriptions

Legion Of The Bouncy Castle Inc. Bc-java Bc-lts-java
cve-icon MITRE

Status: PUBLISHED

Assigner: bcorg

Published:

Updated: 2026-08-03T15:22:55.531Z

Reserved: 2026-06-21T01:50:45.847Z

Link: CVE-2026-12803

cve-icon Vulnrichment

Updated: 2026-08-03T15:22:49.896Z

cve-icon NVD

Status : Undergoing Analysis

Published: 2026-08-03T04:16:39.177

Modified: 2026-08-04T14:50:12.360

Link: CVE-2026-12803

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T15:52:09Z

Weaknesses
  • CWE-354

    Improper Validation of Integrity Check Value