BC-JAVA: Improper Validation of Integrity Check Value
CVE-2026-12816 is a high-severity improper validation of integrity check value vulnerability in BC-JAVA from Legion of the Bouncy Castle, with a CVSS 3.1 base score of 7.5 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. The record lists version 1.85 as the first without the flaw, so updating BC-JAVA to that release or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.18% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update BC-JAVA to 1.85 or a later version.
- Update BC-LTS-JAVA to 2.73.12 or a later version.
- Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Legion of the Bouncy Castle | BC-JAVA | before 1.85 | 1.85 |
| Legion of the Bouncy Castle | BC-LTS-JAVA | 2.73.0 up to, but not including, 2.73.12 | 2.73.12 |
| Bouncycastle | Bouncy Castle For Java LTS | 2.73.11 and earlier | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- NoneNo data is disclosed.
- Integrity
- HighData or code can be modified at will.
- Availability
- NoneAvailability is not affected.
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 4.0 | 8.7 | High | CNA |
| CVSS 3.1 | 7.5 | High | NVD |
Official description
In Bouncy Castle for Java before 1.85, IESEngine stream-mode MAC forgery via length-dependent KDF split. This issue also affects Bouncy Castle for Java LTS before 2.73.12.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Improper Validation of Integrity Check Value
The product does not validate or incorrectly validates the integrity check values or checksums of a message.
How developers prevent this class of flaw
- The protocol specification describes the algorithm used for calculating the checksum. It is then a matter of implementing the calculation and verifying that the calculated checksum and the received checksum match.
More Improper Validation of Integrity Check Value vulnerabilities (CWE-354)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: yes, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
Other vulnerabilities in BC-JAVA
- 8.2 High severity
- 7.1 High severity
- 8.7 High severity
- 8.7 High severity
- 8.7 High severity
- 8.2 High severity
Recent Improper Validation of Integrity Check Value vulnerabilities
- 8.6 High severity
- 7.5 High severity
- 7.5 High severity
- 7.5 High severity
- 7.5 High severity
- 8.7 High severity
Spotted an error? Tell us.