CVE-2026-71885: Bouncy Castle for Java MLS credential binding validation bypass

CVE-2026-71885 · Severity: info · Published 2026-10-03

Bouncy Castle for Java's implementation of Messaging Layer Security (MLS) for group messaging did not properly validate that X.509 certificates belong to the claimed user. An attacker could present another user's certificate while signing with their own key, allowing them to impersonate that user, join encrypted groups under a victim's identity, receive and send group messages, and potentially decrypt sensitive communications.

Technologies: Bouncy Castle for Java. Vendors: Bouncy Castle.

Quick answers

Is CVE-2026-71885 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-71885 being exploited in the wild.
How severe is CVE-2026-71885?
Informational severity, published 3 October 2026.
Which products and versions are affected?
Bouncy Castle for Java before 1.86.
Is there a fix for CVE-2026-71885?
Yes: fixed in 1.86. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-71885 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-71885?
Check whether you run Bouncy Castle for Java at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • Fixed in: 1.86

Technical details

The MLS implementation in LeafNode.verify() checked a leaf's signature against the signature_key in the leaf but never validated that an X.509 credential's end-entity certificate's public key matched the signature_key, violating RFC 9420 section 5.3. An unauthenticated attacker could present a victim's X.509 certificate as their credential while signing with an unrelated key, and be accepted as that victim through KeyPackage.verify(). The fix requires the end-entity certificate's subject public key to match signature_key for X.509 credentials and rejects mismatches; deployments using only basic credentials are unaffected.

Affected products

  • Bouncy Castle Bouncy Castle for Java before 1.86

Timeline

  • 2026-10-03: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.