Description
Previously, a revoked 'SignatureKey' belonging to a CA was not correctly checked for revocation. Now, both the 'key' and 'key.SignatureKey' are checked for @revoked.
Published: 2026-05-22
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in the golang.org/x/crypto/ssh/knownhosts package where a revoked ‘SignatureKey’ belonging to a CA was not properly checked for revocation. As a result, the key and its signature key could be accepted as valid, allowing a malicious actor to present a revoked CA key and impersonate a legitimate remote host. This bypass compromises authentication and opens the door to man‑in‑the‑middle attacks, potentially granting an attacker full control over traffic protected by the affected SSH client.

Affected Systems

Any Go application that relies on the golang.org/x/crypto/ssh/knownhosts library for validating SSH host keys is affected. The issue applies to all versions of the library released before the fix that added revocation checks for both key and key.SignatureKey. Users deploying Go programs that perform host key verification should review the library version and audit any custom host key checking code for similar omissions.

Risk and Exploitability

The vulnerability carries a high risk because it directly undermines the integrity of SSH host authentication. Although the EPSS score is not available and the vulnerability is not listed in CISA KEV, the potential for an attacker to bypass host key validation and facilitate a man‑in‑the‑middle attack suggests that the practical exploitation probability could be significant, especially in environments that rely on remote hosts whose keys may have been revoked. The attack vector is inferred to be remote, requiring the attacker to insert a revoked CA key into the connection flow to satisfy the client’s host key verification logic.

Generated by OpenCVE AI on May 22, 2026 at 04:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade golang.org/x/crypto to the latest release where the revocation check for both key and key.SignatureKey has been applied
  • Verify that your SSH client configuration continues to use the official knownhosts verifier rather than a custom implementation that might skip revocation checks
  • If an upgrade is not immediately feasible, consider temporarily disabling host key verification for non‑critical connections or enforcing strict host key policies to mitigate the risk of accepting revoked keys

Generated by OpenCVE AI on May 22, 2026 at 04:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 22 May 2026 04:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-640

Fri, 22 May 2026 03:30:00 +0000

Type Values Removed Values Added
Description Previously, a revoked 'SignatureKey' belonging to a CA was not correctly checked for revocation. Now, both the 'key' and 'key.SignatureKey' are checked for @revoked.
Title Invoking auth bypass via unenforced @revoked status in golang.org/x/crypto/ssh/knownhosts
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Go

Published:

Updated: 2026-05-22T02:31:27.644Z

Reserved: 2026-04-28T00:21:12.792Z

Link: CVE-2026-42508

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-05-22T04:16:25.440

Modified: 2026-05-22T04:16:25.440

Link: CVE-2026-42508

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-22T04:30:25Z

Weaknesses