Description
Russh is a Rust SSH client and server library. Prior to 0.63.0, the hybrid ML-KEM 768 and X25519 implementation in russh/src/kex/hybrid_mlkem.rs accepts an all-zero 32-byte peer X25519 public key in both server_dh and compute_shared_secret, forcing the X25519 contribution to the combined shared secret to zero. A malicious SSH peer can therefore make the combined secret depend only on ML-KEM, defeating the hybrid exchange's intended fallback protection if ML-KEM is later weakened. This issue is fixed in version 0.63.0.
Published: 2026-09-29
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Key Compromise via X25519 zero-point validation
Action: Upgrade
AI Analysis

Impact

Russh, a Rust SSH client and server library, has a flaw in its hybrid ML‑KEM 768 and X25519 key exchange. The library accepts a 32‑byte all‑zero X25519 public key from a peer, which forces the X25519 contribution in the combined shared secret to zero. A malicious SSH peer can therefore force the shared secret to depend solely on the ML‑KEM component, defeating the intended fallback protection and allowing future weaknesses in ML‑KEM to compromise confidentiality.

Affected Systems

The vulnerability affects all releases of the russh library before version 0.63.0, as distributed by the Eugeny maintainers.

Risk and Exploitability

The CVSS score is 4.3, indicating a moderate severity, and the EPSS score is unavailable. The issue is not listed in the CISA KEV catalog. The attack requires an attacker to establish an SSH session with a system that uses the vulnerable russh library, making the likely attack vector remote via SSH. No public exploit has been reported, but the flaw reduces the robustness of the key exchange and could facilitate a downgrade or compromise if the ML‑KEM algorithm is weakened.

Generated by OpenCVE AI on September 30, 2026 at 08:30 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the official patch by upgrading rust ssh library to version 0.63.0 or later.
  • If an upgrade is not immediately feasible, block or quarantine SSH traffic from untrusted peers and monitor for anomalies such as zero public keys during key exchange.
  • Consider replacing the russh library with an alternative SSH implementation that does not combine ML‑KEM and X25519 until the vulnerability is addressed or disable the hybrid exchange configuration until a patch is applied.

Generated by OpenCVE AI on September 30, 2026 at 08:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-w3jg-pjxf-73p4 Russh: Missing X25519 zero-point validation in hybrid ML-KEM key exchange
History

Wed, 30 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 30 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-358
References
Metrics threat_severity

None

threat_severity

Moderate


Tue, 29 Sep 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Eugeny
Eugeny russh
Vendors & Products Eugeny
Eugeny russh

Tue, 29 Sep 2026 18:30:00 +0000

Type Values Removed Values Added
Description Russh is a Rust SSH client and server library. Prior to 0.63.0, the hybrid ML-KEM 768 and X25519 implementation in russh/src/kex/hybrid_mlkem.rs accepts an all-zero 32-byte peer X25519 public key in both server_dh and compute_shared_secret, forcing the X25519 contribution to the combined shared secret to zero. A malicious SSH peer can therefore make the combined secret depend only on ML-KEM, defeating the hybrid exchange's intended fallback protection if ML-KEM is later weakened. This issue is fixed in version 0.63.0.
Title Russh: Missing X25519 zero-point validation in hybrid ML-KEM key exchange
Weaknesses CWE-327
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-30T20:24:58.381Z

Reserved: 2026-09-29T17:25:25.265Z

Link: CVE-2026-102824

cve-icon Vulnrichment

Updated: 2026-09-30T20:09:35.101Z

cve-icon NVD

Status : Deferred

Published: 2026-09-29T19:17:24.543

Modified: 2026-09-30T21:17:05.920

Link: CVE-2026-102824

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-29T18:27:41Z

Links: CVE-2026-102824 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T08:45:16Z

Weaknesses
  • CWE-327

    Use of a Broken or Risky Cryptographic Algorithm

  • CWE-358

    Improperly Implemented Security Check for Standard