CVE-2026-59644

MLS hash-ratchet honours arbitrary 32-bit generation counter from sender

Published Aug 3, 2026 CVSS 4.0 · 8.7 High EPSS < 1% KEV · Not listed
Description
In Bouncy Castle for Java before 1.85, MLS hash-ratchet honours arbitrary 32-bit generation counter from sender.

Analysis

AI-generated

Technical impact

The flaw in Bouncy Castle for Java allows the MLS hash‑ratchet to accept an arbitrary 32‑bit generation counter supplied by the sender, an issue classified as CWE‑834. This undermines the integrity expectations of the MLS protocol, allowing a malicious actor to replay or fabricate messages that may be accepted as authentic, potentially exposing encrypted traffic or enabling further attacks.

Affected Systems

Legion of the Bouncy Castle Inc.’s BC‑Java library is affected in all releases prior to version 1.85.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity, and although the EPSS score is not available, the vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is a network‑based attacker who can inject or modify MLS packets; by setting a deceptive generation counter the attacker can bypass counter checks and cause later messages to be incorrectly authenticated. Once exploited, the attacker could tamper with or intercept confidential data being protected by the affected library.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade BC‑Java to version 1.85 or later to ensure the hash‑ratchet disregards external counters
  • Modify application logic so that counter verification is performed internally by Bouncy Castle, removing any reliance on sender‑supplied counters
  • If an upgrade is not immediately possible, avoid using the MLS hash‑ratchet functionality or replace it with an alternative implementation that validates counter values internally

Generated by OpenCVE AI on August 4, 2026 at 10:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Bouncycastle
Bouncycastle bc-java
CPEs cpe:2.3:a:bouncycastle:bc-java:*:*:*:*:*:*:*:*
Vendors & Products Bouncycastle
Bouncycastle bc-java
Metrics 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'}

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
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
Description In Bouncy Castle for Java before 1.85, MLS hash-ratchet honours arbitrary 32-bit generation counter from sender.
Title MLS hash-ratchet honours arbitrary 32-bit generation counter from sender
Weaknesses CWE-834
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'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
bcorg
Published
Updated
Aug 3, 2026, 1:36 PM
Reserved
Jul 6, 2026, 6:58 AM
Status
Analyzed
Published
Aug 3, 2026, 1:16 AM
Modified
Oct 23, 2026, 10:10 PM