CVE-2026-12852 MLS wire decoder allocates attacker-declared opaque length before bounds check
An attacker can cause a denial of service in Bouncy Castle for Java by declaring a large opaque length before bounds checks are performed.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-12852?
CVE-2026-12852 is a high-severity denial of service vulnerability in Bouncycastle Bc-Java, published on 3 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
In Bouncy Castle for Java before 1.85, MLS wire decoder allocates attacker-declared opaque length before bounds check.
Weakness: CWE-789
Which versions are affected by CVE-2026-12852?
It affects 1 product.
Products include Bouncycastle Bc-Java.
How do I fix CVE-2026-12852?
Upgrade to a fixed version.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-12852 being exploited?
There is no known exploitation of CVE-2026-12852 in the wild and no public exploit code.
Other vulnerabilities in Bouncycastle Bc-Java
- CVE-2007-6721 Legion of the Bouncy Castle Java Cryptography API Bleichenbacher Oracle Vulnerability
- CVE-2018-1000613 Deserialization of Untrusted Data in Bouncy castle
- CVE-2026-58062 Stapled OCSP response accepted without binding to the checked certificate
- CVE-2026-59638 JSSE hostname verifier CN-fallback enabled by default despite documented opt-in
- CVE-2026-59650 MTI/A0 DH agreement exponentiates unvalidated peer value
Sources
Also known as DEBIAN-CVE-2026-12852, GHSA-p2mp-577q-8vh2, UBUNTU-CVE-2026-12852.