CVE-2026-42770
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
09/06/2026
Last modified:
23/07/2026
Description
Issue summary: When EVP_PKEY_derive_set_peer() is called with a DHX (X9.42)<br />
peer key, the peer key is not properly checked for the subgroup membership.<br />
<br />
Impact summary: A malicious peer which presents an X9.42 key carrying the<br />
victim&#39;s p and g parameters, a forged q = r (a small prime factor of the<br />
cofactor (p−1)/q_local), and a public value Y of order r can recover the<br />
victim&#39;s private key after a small number of key exchange attempts.<br />
<br />
When EVP_PKEY_derive_set_peer() is called with a DHX (X9.42) peer key, the<br />
subgroup membership check Y^q ≡ 1 (mod p) is performed using the peer&#39;s<br />
own q parameter, not the local key&#39;s q. The peer&#39;s domain parameters are<br />
then matched against the domain parameters of the private key, but the value<br />
of q is not compared.<br />
<br />
A malicious peer who presents an X9.42 key carrying the victim&#39;s p, g,<br />
a forged q = r (a small prime factor of the cofactor), and a public<br />
value Y of order r passes all checks. The shared secret then takes only<br />
r distinct values, leaking priv mod r. Repeating for each small-prime<br />
factor of the cofactor and combining via CRT recovers the full private<br />
key (Lim–Lee / small-subgroup-confinement attack).<br />
<br />
The realistic attack surface is narrow: principally CMP deployments with<br />
long-lived RA/CA DHX keys and bespoke enterprise or government applications<br />
using X9.42 DHX static keys with interactive protocols and therefore this<br />
issue was assigned Low severity.<br />
<br />
The FIPS modules in 4.0, 3.6, 3.5, 3.4, 3.1.2 and 3.0 are affected by this<br />
issue.
Impact
Base Score 3.x
3.70
Severity 3.x
LOW
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.0.0 (including) | 3.0.21 (excluding) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.4.0 (including) | 3.4.6 (excluding) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.5.0 (including) | 3.5.7 (excluding) |
| cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* | 3.6.0 (including) | 3.6.3 (excluding) |
| cpe:2.3:a:openssl:openssl:4.0.0:-:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://github.com/openssl/openssl/commit/3da5a516cd2635a320ff748503db2cef7c4b0f02
- https://github.com/openssl/openssl/commit/3ddbb7ab50bd93dfc59cbe08e269a67605aeebdb
- https://github.com/openssl/openssl/commit/5f452bba2c681423d8fcffd120a19b757ee42e3c
- https://github.com/openssl/openssl/commit/7fbfde7677ed8808828bf00ff01c937ca04bdda2
- https://github.com/openssl/openssl/commit/ca2237ab5615641b662183b077f62c08d75e8070
- https://openssl-library.org/news/secadv/20260609.txt



