p PatchFirst

CVE-2026-73430

CVE-2026-73430 · Russh: Pre-auth remote panic via all-zero Curve25519 peer public value (encode_mpint OOB)

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 5.3 · Medium · EPSS 0.6% · Fix available

Published
Updated

Stack: system

Affected products and versions

  • russh

    Versions
    • < 0.62.4: Affected

    No fix published

  • rust-russh Debian:14

    Versions
    • 0.57.1-1
    • 0.57.1-2
    Affected ranges
    • ECOSYSTEM: < 0.64.1-1

    Update to 0.64.1-1

  • rust-russh Ubuntu:26.10

    Versions
    • 0.57.1-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →