Skip to main content

Russh EUVDEUVD-2026-57625

| CVE-2026-73430 MEDIUM
Improper Check for Unusual or Exceptional Conditions (CWE-754)
2026-08-12 GitHub_M GHSA-5xvq-cp9x-6p6r
5.3
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI
5.3 MEDIUM

Pre-auth network attack on default config requires no privileges; only the per-connection KEX task crashes, so A:L not A:H.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

Lifecycle Timeline

4
Patch available
Aug 12, 2026 - 22:03 EUVD
Source Code Evidence Fetched
Aug 12, 2026 - 21:44 vuln.today
Analysis Generated
Aug 12, 2026 - 21:44 vuln.today
CVE Published
Aug 12, 2026 - 20:55 cve.org
MEDIUM 5.3

DescriptionCVE.org

Russh is a Rust SSH client & server library. Prior to 0.62.4, an unauthenticated SSH client can cause a denial of service by sending SSH_MSG_KEX_ECDH_INIT with a 32-byte all-zero Q_C value. Curve25519Kex::server_dh in russh/src/kex/curve25519.rs accepts the all-zero peer public value and computes an all-zero shared secret, after which compute_exchange_hash calls encode_mpint in russh/src/kex/mod.rs and indexes beyond the end of the input while skipping leading zero bytes. The resulting panic occurs before authentication and terminates the server key-exchange task. This issue is fixed in version 0.62.4.

AnalysisAI

Unauthenticated remote denial of service in the Russh SSH library (versions ≤ 0.62.3) allows any network attacker to crash individual server key-exchange sessions by sending a single SSH_MSG_KEX_ECDH_INIT packet containing a 32-byte all-zero Curve25519 public key. The defect triggers under the default server configuration - no special deployment required - causing a Rust bounds-check panic in encode_mpint before host-key signature verification ever occurs. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Connect to target SSH port
Delivery
Send SSH version exchange
Exploit
Send SSH_MSG_KEX_ECDH_INIT with 32-byte all-zero Q_C
Execution
Trigger encode_mpint index-out-of-bounds panic
Impact
Server KEX task terminates

Vulnerability AssessmentAI

Exploitation Exploitation requires only network access to the SSH port of a server built on Russh using its default configuration (Config::default(), which includes curve25519-sha256 via Preferred::DEFAULT). … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L, score 5.3) accurately reflects the attack surface: fully unauthenticated, network-reachable on any default Russh server, with low attack complexity since a single malformed packet triggers the panic. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker opens a TCP connection to any exposed Russh-based SSH server, completes the SSH version string exchange, and sends a single SSH_MSG_KEX_ECDH_INIT packet with the 32-byte Q_C field set to all zeros. The server's key-exchange task panics immediately upon attempting to encode the resulting all-zero shared secret, terminating the connection before authentication. …
Remediation Upgrade Russh to version 0.62.4 or later, confirmed as the vendor-released patch at https://github.com/Eugeny/russh/releases/tag/v0.62.4 and applied via commit a7fc1eb5717264e31c3c5f7dd849b73989a08f3d (https://github.com/Eugeny/russh/commit/a7fc1eb5717264e31c3c5f7dd849b73989a08f3d); the fix adds explicit zero-point rejection in curve25519.rs and corrects the all-zero mpint encoding in mod.rs. … Detailed patch versions, workarounds, and compensating controls in full report.

Threat intelligence, references, and detailed analysis are available after sign-in.

More in Russh

View all

Share

EUVD-2026-57625 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy