Impact
In Bouncy Castle’s MLS implementation the IEEE‑754 conversion of a uint32 leaf_index into a signed integer allows a full 32‑bit range to be interpreted as a negative value. When the leaf_index exceeds the current group size, the negative comparison passes a membership test, permitting a malicious sender to construct an unprotected PrivateMessage that forces the tree construction algorithm to grow an unbounded node list until the JVM exhausts its heap. This results in a denial of service for all other group members. The flaw resides in CWE‑195, an improper signed‑to‑unsigned conversion.
Affected Systems
Legion of the Bouncy Castle Inc. provides the BC-JAVA library. Versions prior to 1.86 of the org.bouncycastle.mls package are vulnerable. The fix is included in release 1.86 onward, where leaf index comparisons use unsigned interpretation.
Risk and Exploitability
The CVSS score is 8.7, indicating a high‑severity vulnerability. EPSS is not available, and the issue is not listed in the CISA KEV catalog. The vulnerability is exploitable in any context where an attacker can send an MLS message to a group that uses an affected library instance. An attacker can craft a message with a leaf_index that has its most significant bit set. As a result, the victim will experience a denial of service. The attack vector is an in‑group message injection, requiring no external code execution.
OpenCVE Enrichment