Skip to content
OpenAdvisories
Critical · 9.1 CVE-2026-63569 EUVD-2026-91220GHSA-m2m9-m35w-rfxg

MTI/A0 DHAgreement does not validate the peer's ephemeral value

Published Oct 2, 2026 · Updated Oct 2, 2026 · Assigned by bcorg

Description

Improper input validation in DHAgreement.CalculateAgreement (MTI/A0 two-pass Diffie-Hellman) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an on-path attacker to make the local party compute an agreed value the attacker already knows, defeating the key authentication MTI/A0 is meant to provide. It also allows a malicious peer to learn the local static private key modulo the small factors of p-1, and to recover it entirely in groups with many such factors. The attack uses a crafted out-of-range or small-order ephemeral value, and works because that value is raised to the static private key without the range and subgroup-membership checks applied to DH public keys. Only applications that call DHAgreement directly are affected.

Affected products

VendorProductAffectedFixed
Legion of the Bouncy Castle bc-csharp < 2.7.0 2.7.0

References