Description
In Bouncy Castle for Java before 1.85, MLS wire decoder allocates attacker-declared opaque length before bounds check.
Published: 2026-08-03
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Bouncy Castle MLS wire decoder allocates a buffer whose size is declared in a message without first checking that the declared length is within the bounds of the remaining data. This out‑of‑bounds allocation can overwrite memory that the Java virtual machine or the application relies on, resulting in a crash, denial of service, or, if the attacker can control the overwritten area, arbitrary code execution. The vulnerability is classified as CWE‑789 (Buffer or Integer Overread) and can also lead to broader memory corruption (CWE‑1284).

Affected Systems

Legion of the Bouncy Castle Inc. – BC‑JAVA, before release 1.85.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity. The EPSS score of < 1% conveys a very low but nonzero likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog, so no widespread exploitation is documented. Based on the description, it is inferred that an attacker can trigger the flaw by sending a crafted MLS wire message to any Java application that uses the vulnerable decoder, and the attack vector is likely remote. No additional conditions are required to exploit the vulnerability.

Generated by OpenCVE AI on August 13, 2026 at 11:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Bouncy Castle to version 1.85 or later, which removes the out‑of‑bounds allocation bug.
  • If an immediate upgrade is not possible, configure the application to reject or sanitize MLS wire messages that specify excessively large opaque lengths before they are parsed by the decoder.
  • Add application‑level validation to ensure that declared lengths do not exceed the size of the remaining payload data before memory is allocated.

Generated by OpenCVE AI on August 13, 2026 at 11:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1284
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Important


Mon, 03 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 03 Aug 2026 16:15:00 +0000

Type Values Removed Values Added
First Time appeared Legion Of The Bouncy Castle Inc.
Legion Of The Bouncy Castle Inc. bc-java
Vendors & Products Legion Of The Bouncy Castle Inc.
Legion Of The Bouncy Castle Inc. bc-java

Mon, 03 Aug 2026 06:45:00 +0000


Mon, 03 Aug 2026 04:00:00 +0000

Type Values Removed Values Added
Description In Bouncy Castle for Java before 1.85, MLS wire decoder allocates attacker-declared opaque length before bounds check.
Title MLS wire decoder allocates attacker-declared opaque length before bounds check
Weaknesses CWE-789
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/U:Amber'}


Subscriptions

Legion Of The Bouncy Castle Inc. Bc-java
cve-icon MITRE

Status: PUBLISHED

Assigner: bcorg

Published:

Updated: 2026-08-03T15:11:39.086Z

Reserved: 2026-06-22T03:41:00.916Z

Link: CVE-2026-12852

cve-icon Vulnrichment

Updated: 2026-08-03T15:11:33.414Z

cve-icon NVD

Status : Undergoing Analysis

Published: 2026-08-03T04:16:39.640

Modified: 2026-08-04T14:50:12.360

Link: CVE-2026-12852

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-03T02:55:02Z

Links: CVE-2026-12852 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T11:45:03Z

Weaknesses
  • CWE-1284

    Improper Validation of Specified Quantity in Input

  • CWE-789

    Memory Allocation with Excessive Size Value