Skip to content
Heist/ feed
Back to feed
Medium

russh: peer-declared zero maximum packet size permanently stalls channel writes (silent AsyncWrite hang)

Type: advisorySources: Official CVE List

russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. From 0.60.0 until 0.65.0, channel-open parsing accepts a peer-declared maximum_packet_size of zero and passes it into ChannelTx::poll_writable in russh/src/channels/io/tx.rs. The Channel::data, Channel::make_writer, and Channel::into_stream asynchronous write paths then calculate a writable size of zero and remain pending forever because window adjustments cannot satisfy a static zero packet maximum. An authenticated client can strand server writes, and a malicious server can strand client writes, allowing affected tasks, channels, and connections to accumulate without surfacing an error. This issue is fixed in version 0.65.0.

Products
russh
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-116774
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 17:17 UTC · Revision 1

Source evidence

russh: peer-declared zero maximum packet size permanently stalls channel writes (silent AsyncWrite hang)

core-cve · Original source

Published 27 Oct 2026, 20:25 UTC

russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. From 0.60.0 until 0.65.0, channel-open parsing accepts a peer-declared maximum_packet_size of zero and passes it into ChannelTx::poll_writable in russh/src/channels/io/tx.rs. The Channel::data, Channel::make_writer, and Channel::into_stream asynchronous write paths then calculate a writable size of zero and remain pending forever because window adjustments cannot satisfy a static zero packet maximum. An authenticated client can strand server writes, and a malicious server can strand client writes, allowing affected tasks, channels, and connections to accumulate without surfacing an error. This issue is fixed in version 0.65.0.

cve:CVE-2026-116774

russh

Fixed versions: Not specified

Complete source record
{
  "id": "823fbb1dfbe3d94bec0352aff0bb8554d40d280aa0b53025707e1253e76e26bf",
  "url": "https://www.cve.org/CVERecord?id=CVE-2026-116774",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "russh: peer-declared zero maximum packet size permanently stalls channel writes (silent AsyncWrite hang)",
    "summary": "russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. From 0.60.0 until 0.65.0, channel-open parsing accepts a peer-declared maximum_packet_size of zero and passes it into ChannelTx::poll_writable in russh/src/channels/io/tx.rs. The Channel::data, Channel::make_writer, and Channel::into_stream asynchronous write paths then calculate a writable size of zero and remain pending forever because window adjustments cannot satisfy a static zero packet maximum. An authenticated client can strand server writes, and a malicious server can strand client writes, allowing affected tasks, channels, and connections to accumulate without surfacing an error. This issue is fixed in version 0.65.0.",
    "evidence": "cve:CVE-2026-116774",
    "products": [
      {
        "name": {
          "value": "russh",
          "evidence": "/containers/cna/affected/0/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-116774",
      "aliases": [
        "CVE-2026-116774"
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "scope": "UNCHANGED",
            "version": "3.1",
            "baseScore": 4.3,
            "attackVector": "NETWORK",
            "baseSeverity": "MEDIUM",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L",
            "integrityImpact": "NONE",
            "userInteraction": "NONE",
            "attackComplexity": "LOW",
            "availabilityImpact": "LOW",
            "privilegesRequired": "LOW",
            "confidentialityImpact": "NONE"
          }
        }
      ],
      "affected": [
        {
          "vendor": "Eugeny",
          "product": "russh",
          "versions": [
            {
              "status": "affected",
              "version": ">= 0.60.0, < 0.65.0"
            }
          ]
        }
      ],
      "modified": "2026-10-28T16:13:18.607Z",
      "provider": "cve",
      "references": [
        "https://github.com/Eugeny/russh/security/advisories/GHSA-fw5c-8223-6h42",
        "https://github.com/Eugeny/russh/commit/39cb9dbaa37caf555d34c6c22efa3bbbff9e186c",
        "https://github.com/Eugeny/russh/releases/tag/v0.65.0"
      ],
      "provider_metadata": {
        "adp": [
          {
            "title": "CISA ADP Vulnrichment",
            "metrics": [
              {
                "other": {
                  "type": "ssvc",
                  "content": {
                    "id": "CVE-2026-116774",
                    "role": "CISA Coordinator",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "version": "2.0.3",
                    "timestamp": "2026-10-28T14:34:53.983359Z"
                  }
                }
              }
            ],
            "providerMetadata": {
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP",
              "dateUpdated": "2026-10-28T16:13:18.607Z"
            }
          }
        ],
        "cna": {
          "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
          "shortName": "GitHub_M",
          "dateUpdated": "2026-10-27T20:25:26.914Z"
        }
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-116774",
        "evidence": "/cveMetadata/cveId"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/containers/cna/metrics"
  },
  "source_id": "core-cve",
  "document_id": 460244,
  "published_at": "2026-10-27T20:25:26.914+00:00"
}