← Back to CVE Explorer

CVE-2026-73489

Full vulnerability record from the local CVENow database.

Description

Russh is a Rust SSH client & server library. Prior to 0.62.4, an authenticated SSH client can cause a denial of service by sending a pty-req channel request with more than 130 terminal-mode records. The parser in russh/src/server/encrypted.rs stores terminal modes in a fixed 130-entry [(Pty::TTY_OP_END, 0); 130] array but continues increasing the mode count, then constructs an out-of-bounds slice and panics before the application pty_request handler runs. The panic terminates the server session task without causing memory corruption. This issue is fixed in version 0.62.4.

Severity
MEDIUM
CVSS score
4.3 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-08-13 22:17:26.893000
Last modified
2026-10-24 15:10:00.190000
View original CVE JSON
{
  "id": "CVE-2026-73489",
  "sourceIdentifier": "[email protected]",
  "published": "2026-08-13T22:17:26.893",
  "lastModified": "2026-10-24T15:10:00.190",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Russh is a Rust SSH client & server library. Prior to 0.62.4, an authenticated SSH client can cause a denial of service by sending a pty-req channel request with more than 130 terminal-mode records. The parser in russh/src/server/encrypted.rs stores terminal modes in a fixed 130-entry [(Pty::TTY_OP_END, 0); 130] array but continues increasing the mode count, then constructs an out-of-bounds slice and panics before the application pty_request handler runs. The panic terminates the server session task without causing memory corruption. This issue is fixed in version 0.62.4."
    },
    {
      "lang": "es",
      "value": "Russh es una biblioteca de cliente y servidor SSH de Rust. Antes de la versión 0.62.4, un cliente SSH autenticado puede causar una denegación de servicio al enviar una solicitud de canal pty-req con más de 130 registros de modo de terminal. El analizador en russh/src/server/encrypted.rs almacena los modos de terminal en un array fijo de 130 entradas [(Pty::TTY_OP_END, 0); 130] pero continúa aumentando el recuento de modos, luego construye un slice fuera de límites y entra en pánico antes de que se ejecute el gestor de solicitud pty_request de la aplicación. El pánico termina la tarea de sesión del servidor sin causar corrupción de memoria. Este problema está solucionado en la versión 0.62.4."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "Eugeny",
          "product": "russh",
          "versions": [
            {
              "version": "< 0.62.4",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L",
          "baseScore": 4.3,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "LOW"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 1.4
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-08-17T19:50:25.618015Z",
          "id": "CVE-2026-73489",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-129"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/Eugeny/russh/commit/8912512371820167a12a0a638bd666856ce458ad",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/Eugeny/russh/releases/tag/v0.62.4",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/Eugeny/russh/security/advisories/GHSA-cqjc-rmpq-xprq",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/Eugeny/russh/security/advisories/GHSA-cqjc-rmpq-xprq",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ]
}