Bouncy Castle for Java <1.85: Cross-Nonce AEAD Forgery via KCCMBlockCipher MAC
CVE-2026-12803 Published on August 3, 2026

KCCMBlockCipher MAC does not bind nonce when AAD is absent (cross-nonce AEAD forgery)
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.

Vendor Advisory NVD

Vulnerability Analysis

CVE-2026-12803 can be exploited with network access, and does not require authorization privileges or user interaction. This vulnerability is considered to have a low attack complexity. The potential impact of an exploit of this vulnerability is considered to have no impact on confidentiality and integrity and availability.

Attack Vector:
NETWORK
Attack Complexity:
LOW
Privileges Required:
NONE
User Interaction:
NONE

Weakness Type

Improper Validation of Integrity Check Value

The software does not validate or incorrectly validates the integrity check values or "checksums" of a message. This may prevent it from detecting if the data has been modified or corrupted in transmission. Improper validation of checksums before use results in an unnecessary risk that can easily be mitigated. The protocol specification describes the algorithm used for calculating the checksum. It is then a simple matter of implementing the calculation and verifying that the calculated checksum and the received checksum match. Improper verification of the calculated checksum and the received checksum can lead to far greater consequences.


Affected Versions

Legion of the Bouncy Castle Inc. BC-JAVA: Legion of the Bouncy Castle Inc. BC-LTS-JAVA: