# CVE-2026-73489: Russh denial of service via malformed PTY request

Source: https://junglewise.ai/threats/cve-2026-73489-russh-denial-of-service-via-malformed-pty-request  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-13. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-73489 · Severity: medium · CVSS 4.3 · Published 2026-08-13

Russh is a Rust-based SSH client and server library used for secure shell communications. An authenticated SSH client can crash the server session by sending a specially crafted PTY (pseudo-terminal) request containing more than 130 terminal-mode records, causing the session to terminate and become unavailable to legitimate users.

Technologies: [russh (crates.io)](https://junglewise.ai/threats/technologies/crates-io-russh). Vendors: [crates.io](https://junglewise.ai/threats/vendors/crates-io).

## Quick answers

**Is CVE-2026-73489 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-73489 being exploited in the wild.

**How severe is CVE-2026-73489?** Medium severity, with a CVSS score of 4.3, published 13 August 2026.

**Which products and versions are affected?** russh (crates.io) SEMVER:introduced=0,fixed=0.62.4.

**Is there a fix for CVE-2026-73489?** Yes. russh (crates.io): upgrade to 0.62.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-73489 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-73489?** Check whether you run russh (crates.io) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- russh (crates.io): upgrade to 0.62.4 or later

  ```sh
  cargo update -p russh
  ```


## Technical details

The vulnerability is a denial-of-service bug in the PTY request handler within russh/src/server/encrypted.rs. The parser uses a fixed 130-entry array for storing terminal modes but fails to validate the incoming mode count before processing; it continues incrementing the mode counter beyond array bounds and constructs an out-of-bounds slice, triggering a panic. The panic terminates the session task without memory corruption. Attack requires an already-authenticated SSH client with network access to the server. The issue is fixed in version 0.62.4 by adding proper bounds checking before processing terminal modes.

## Affected products

- Eugeny Russh prior to 0.62.4

## Identifiers

- CVE-2026-73489
- GHSA-cqjc-rmpq-xprq

## Timeline

- 2026-08-13: disclosed
- 2026-07-22: patched: Fixed in version 0.62.4

## References

- [https://github.com/Eugeny/russh/commit/8912512371820167a12a0a638bd666856ce458ad](https://github.com/Eugeny/russh/commit/8912512371820167a12a0a638bd666856ce458ad)
- [https://github.com/Eugeny/russh/releases/tag/v0.62.4](https://github.com/Eugeny/russh/releases/tag/v0.62.4)

## Related threats

- [russh SSH server signature algorithm mismatch in publickey auth](https://junglewise.ai/threats/cve-2026-111062-a-russh-ssh-server-accepts-a-publickey-authentication-whose)
- [russh SSH agent confirmation bypass](https://junglewise.ai/threats/cve-2026-116794-russh-is-a-rust-ssh-client-and-server-library-that-includes-an)
- [russh SSH library zero maximum packet size denial of service](https://junglewise.ai/threats/cve-2026-116774-russh-is-a-rust-ssh-client-and-server-library-that-includes-an)
- [russh memory exhaustion via unbounded EXT_INFO packets](https://junglewise.ai/threats/cve-2026-116773-russh-is-a-rust-ssh-client-and-server-library-that-includes-an)
- [russh's SSH agent server is susceptible to unbound allocations via repeated SSH_AGENT_CONSTRAIN_CONFIRM messages](https://junglewise.ai/threats/cve-2026-116696-russh-is-a-rust-ssh-client-and-server-library-that-includes-an)
