CVE-2026-12852 MLS wire decoder allocates attacker-declared opaque length before bounds check

High 8.7 Published Updated

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.

All Bouncycastle Bc-Java vulnerabilities

Sources

Also known as DEBIAN-CVE-2026-12852, GHSA-p2mp-577q-8vh2, UBUNTU-CVE-2026-12852.

Is CVE-2026-12852 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free