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.
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.
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:- Before 1.85 is affected.
- Version 2.73.0 and below 2.73.12 is affected.