Description
wolfSSH does not validate that the ECDSA curve identifier in a KEXDH_REPLY host key blob matches the algorithm negotiated during key exchange. In ParseECCPubKey() (src/internal.c), the blob's algorithm string is used to derive the curve via NameToId/wcPrimeForId without checking against the negotiated ssh->handshake->pubKeyId, and the RFC 5656 curve identifier string is discarded via GetSkip() rather than compared. An active network man-in-the-middle attacker can substitute a host key blob containing a different ECDSA curve, causing the client to import the key on the wrong curve. Because the attacker controls the private key for the substituted curve, signature verification passes. Exploitation requires an active MitM position and a lax public key check callback (e.g., TOFU, algorithm-name-only check, or fingerprint match against the parsed key).
Published: 2026-10-07
Score: 9 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Authentication Bypass (MitM)
Action: Patch Now
AI Analysis

Impact

An active attacker who can intercept SSH traffic can replace the host key blob with one that embeds an ECDSA curve different from the one that the client negotiated. The host key is parsed and used to derive the curve without checking that the identifier matches the negotiated curve, so the client accepts the key on the wrong curve. Because the attacker controls the private key for the substituted curve, signature verification succeeds, resulting in an authentication bypass that allows the attacker to impersonate the server and read or modify all traffic.

Affected Systems

WolfSSL Inc.’s wolfSSH SSH server is impacted. All releases prior to the availability of the validation patch are vulnerable, as the vendor has not published specific version ranges for the fix.

Risk and Exploitability

The CVSS score of 9.0 indicates very high severity. EPSS is not reported, but the exploit requires an active man‑in‑the‑middle position and the use of permissive key‑verification callbacks such as TOFU or username‑only checks. The vulnerability is not listed in CISA’s KEV catalog. Based on the description, the attack vector is inferred to be typical SSH clients that accept host keys based solely on the algorithm name or on a fingerprint match. If exploited, the attacker gains full control of the SSH session after the forged key is accepted.

Generated by OpenCVE AI on October 7, 2026 at 03:55 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest wolfSSH release that includes proper curve validation.
  • Configure the server to enforce strict host‑key verification that compares the full public key material, disabling any permissive key‑verification callbacks such as TOFU or algorithm‑name‑only checks.
  • If an immediate update is not possible, consider disabling ECDSA host keys or switching to RSA or Ed25519 host keys until the patch is applied.

Generated by OpenCVE AI on October 7, 2026 at 03:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 13 Oct 2026 18:00:00 +0000

Type Values Removed Values Added
First Time appeared Wolfssh
Wolfssh wolfssh
CPEs cpe:2.3:a:wolfssh:wolfssh:*:*:*:*:*:*:*:*
Vendors & Products Wolfssh
Wolfssh wolfssh
Metrics cvssV3_1

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


Wed, 07 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 07 Oct 2026 04:00:00 +0000

Type Values Removed Values Added
First Time appeared Wolfssl
Wolfssl wolfssh
Vendors & Products Wolfssl
Wolfssl wolfssh

Wed, 07 Oct 2026 02:45:00 +0000

Type Values Removed Values Added
Description wolfSSH does not validate that the ECDSA curve identifier in a KEXDH_REPLY host key blob matches the algorithm negotiated during key exchange. In ParseECCPubKey() (src/internal.c), the blob's algorithm string is used to derive the curve via NameToId/wcPrimeForId without checking against the negotiated ssh->handshake->pubKeyId, and the RFC 5656 curve identifier string is discarded via GetSkip() rather than compared. An active network man-in-the-middle attacker can substitute a host key blob containing a different ECDSA curve, causing the client to import the key on the wrong curve. Because the attacker controls the private key for the substituted curve, signature verification passes. Exploitation requires an active MitM position and a lax public key check callback (e.g., TOFU, algorithm-name-only check, or fingerprint match against the parsed key).
Title wolfSSH ECDSA host key curve not validated against negotiated algorithm
Weaknesses CWE-345
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: wolfSSL

Published:

Updated: 2026-10-07T11:17:14.029Z

Reserved: 2026-07-21T22:09:07.190Z

Link: CVE-2026-16516

cve-icon Vulnrichment

Updated: 2026-10-07T11:15:59.263Z

cve-icon NVD

Status : Analyzed

Published: 2026-10-07T03:16:58.830

Modified: 2026-10-13T17:40:07.413

Link: CVE-2026-16516

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T04:00:10Z

Weaknesses
  • CWE-345

    Insufficient Verification of Data Authenticity