CVE-2026-73430: Russh: Pre-auth remote panic via all-zero Curve25519 peer public value (encode_mpint OOB)
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 SSHMSGKEXECDHINIT with a 32-byte all-zero QC value. Curve25519Kex::serverdh in russh/src/kex/curve25519.rs accepts the all-zero peer public value and computes an all-zero shared secret, after which computeexchangehash calls encodempint 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
russhto a version that resolves this vulnerability.Fixed in 0.62.4
Event History
Frequently Asked Questions
What is the severity of CVE-2026-73430?
The severity of CVE-2026-73430 is rated as medium with a score of 5.3.
How do I fix CVE-2026-73430?
To fix CVE-2026-73430, update the russh library to version 0.62.4 or newer.
What type of vulnerability is CVE-2026-73430?
CVE-2026-73430 is a pre-authentication remote denial of service vulnerability in the russh library.
Who is affected by CVE-2026-73430?
Unauthenticated SSH clients using versions of the russh library prior to 0.62.4 are affected by CVE-2026-73430.
What happens if CVE-2026-73430 is exploited?
If exploited, CVE-2026-73430 can cause a denial of service in the russh library.