Read the docs

Russh: Missing X25519 zero-point validation in hybrid ML-KEM key exchange

Priority LOW 19CWE-327Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Information disclosure
Confidentiality · integrity · availability
Low · None · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-327.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00141 3rd percentileScored 2026-11-07
Fix Fixed russh (Eugeny): 0.63.0russh (crates.io): 0.63.0Red Hat: 1 advisory

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
Eugenyrusshbefore 0.63.00.63.0Patch availableCNA
—russh (crates.io)before 0.63.00.63.0Patch availableGHSA-w3jg-pjxf-73p4
  • russh VendorEugeny Affected before 0.63.0 Fixed in 0.63.0 Patch available CNA
  • russh (crates.io) Vendor— Affected before 0.63.0 Fixed in 0.63.0 Patch available GHSA-w3jg-pjxf-73p4

Remediation

  • Fix · CNA russh (Eugeny) Fixed in 0.63.0
  • Fix · GHSA-w3jg-pjxf-73p4 russh (crates.io) Fixed in 0.63.0 Advisory →

Red Hat 1 advisory

  • RHSA-2026:74586 Released 2026-10-01 · Red Hat rating Important
    Red Hat Hardened Images RPMs Security Update
    • Red Hat Hardened Images openshell-0.1.2-0.2.hum1@aarch64, openshell-0.1.2-0.2.hum1@src, openshell-0.1.2-0.2.hum1@x86_64 +4

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Hardened ImagesFixed RHSA-2026:74586

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-102824
  2. 2026-10-03 Alias added: GHSA-w3jg-pjxf-73p4

References

  • TI-2026-65512 russh: Client-side channel-scoped Handler callbacks fire for channel IDs the client never opened CVSS 3.1HIGH 7.5
  • TI-2026-35550 Russh: SSH message fields were decoded through allocation-first parsers before field-specific bounds CVSS 3.1HIGH 7.5
  • TI-2026-34331 Russh: Post-decompression SSH packet size was not bounded, allowing remote oversized compressed packets CVSS 3.1HIGH 7.5
  • TI-2026-34308 Resource allocation without limits in Eugeny russh CVSS 3.1HIGH 7.5
  • TI-2025-16084 Tabby has a TCC Bypass via Misconfigured Node Fuses CVSS 4.0HIGH 8.6
  • TI-2024-36991 Tabby has a TCC Bypass via Unnecessary Permissive Entitlements in Tabby CVSS 4.0HIGH 8.6
See all 25 →

Sources