Advisory Database
  • Advisories
  • Dependency Scanning
  1. cargo
  2. ›
  3. russh
  4. ›
  5. CVE-2026-102821

CVE-2026-102821: Russh: Unbounded memory exhaustion via CHANNEL_OPEN flood during a client-stalled rekey

September 30, 2026

A russh server can be driven to unbounded heap growth (process OOM / kill) by a peer that speaks only standard SSH messages, in the default configuration.

The peer starts a key re-exchange (sends SSH_MSG_KEXINIT) but never sends the follow-up SSH_MSG_KEX_ECDH_INIT, leaving the server’s kex state machine in SessionKexState::InProgress indefinitely. While a rekey is in progress the server’s three message-drain paths are all gated off (if !self.kex.active()), but the network-read path stays active, so every SSH_MSG_CHANNEL_OPEN the peer sends is processed inline and appends one reply to an unbounded internal queue (priority_receiver, an UnboundedReceiver) that is not dequeued until the rekey completes. Because the peer decides whether the rekey ever completes, the queue — and the server’s memory — grows without bound.

This is reproducible end-to-end against a real russh server over a real encrypted transport; see “Proof of concept”. A one-line negative control (same flood, no rekey) keeps memory flat, isolating the rekey window as the sole trigger.

References

  • github.com/Eugeny/russh/commit/a282af361ac99bc76b80876d1aae128e89dbf66b
  • github.com/Eugeny/russh/releases/tag/v0.63.2
  • github.com/Eugeny/russh/security/advisories/GHSA-35g8-35p8-c8fw
  • github.com/advisories/GHSA-35g8-35p8-c8fw
  • nvd.nist.gov/vuln/detail/CVE-2026-102821

Code Behaviors & Features

Detect and mitigate CVE-2026-102821 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 0.63.2

Fixed versions

  • 0.63.2

Solution

Upgrade to version 0.63.2 or above.

Impact 6.5 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Learn more about CVSS

Weakness

  • CWE-400: Uncontrolled Resource Consumption
  • CWE-770: Allocation of Resources Without Limits or Throttling

Source file

cargo/russh/CVE-2026-102821.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:06 +0000.