Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconTCP connect to SSH port
-
DeliveryComplete SSH key exchange
-
ExploitSend USERAUTH_REQUEST (keyboard-interactive)
-
InstallReceive server prompts
-
C2Send malformed USERAUTH_INFO_RESPONSE (n=0x10000000)
-
ExecuteTrigger unbounded Vec allocation
-
ImpactOOM crash server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Server must implement keyboard-interactive authentication where the |
| Impact | This is a high-priority vulnerability for deployments using keyboard-interactive authentication, but impact is limited to specific russh server configurations. CVSS 7.5 reflects the technical ease of exploitation (AV:N/AC:L/PR:N/UI:N - remote unauthenticated attack with low complexity) and complete availability impact (A:H). However, only servers where |
| Exploit ScenarioDerived | Attacker identifies a russh-based SSH server on port 22 offering keyboard-interactive authentication (e.g., TOTP-enabled admin panel). Without needing credentials, attacker completes the anonymous Diffie-Hellman key exchange, sends SSH_MSG_USERAUTH_REQUEST specifying keyboard-interactive method, receives the server's prompt response (e.g., "Enter TOTP code:"), then replies with SSH_MSG_USERAUTH_INFO_RESPONSE containing count=0x10000000 and no actual response data. The server attempts to allocate 6.4GB for Vec<Option<Bytes>>, exhausts memory, and is OOM-killed by the kernel. The attack takes ~200ms and requires a single TCP connection. Attacker scripts the exploit to reconnect every 5 seconds, preventing service recovery. Publicly available exploit code exists per the GitHub advisory, lowering barrier to widespread exploitation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 08, 2026
Pre-authentication denial-of-service in russh SSH server library allows remote attackers to crash servers implementing keyboard-interactive authentication via a single malformed packet. Affects russh versions prior to 0.60.1. Attacker sends crafted SSH_MSG_USERAUTH_INFO_RESPONSE with inflated allocation count (e.g., 0x10000000), triggering multi-gigabyte memory allocation and OOM crash before any credential validation occurs. Vendor-released patch available (v0.60.1) bounds allocation to remaining packet data. Confirmed working exploit code exists per GitHub security advisory GHSA-f5v4-2wr6-hqmg. CVSS 7.5 (High) with network vector, low complexity, no privileges required.
RemediationAI
Upgrade russh to version 0.60.1 or later, which implements allocation bounds based on remaining packet data (commit 6c3c80a9b6d60763d6227d60fa8310e57172a4d1). The fix limits Vec::with_capacity(n) to max_responses = (r.remaining_len() + 3) / 4, preventing multi-GB allocations from small packets. Update Cargo.toml dependency: russh = "0.60.1", rebuild, and redeploy. For environments unable to immediately upgrade: (1) Disable keyboard-interactive authentication at the handler level by ensuring auth_keyboard_interactive returns Auth::reject() instead of Auth::Partial - trade-off: loss of 2FA/TOTP workflows; (2) Deploy rate-limiting at the network edge (firewall/load balancer) to throttle SSH connection attempts per source IP - trade-off: legitimate users may be blocked during bursts, and attackers can rotate IPs to bypass; (3) Set conservative memory limits (e.g., Linux cgroup memory.max) for the russh server process to trigger controlled restart rather than system-wide OOM - trade-off: same DoS outcome but protects other services. Patch is strongly preferred; workarounds only buy time. Advisory: https://github.com/Eugeny/russh/security/advisories/GHSA-f5v4-2wr6-hqmg. Commit diff: https://github.com/Eugeny/russh/commit/6c3c80a9b6d60763d6227d60fa8310e57172a4d1.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in cargo
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability lies in russh's implementation of SSH RFC 4256 keyboard-interactive authentication. The server's read_userauth_info_response function in russh/src/server/encrypted.rs decodes a client-controlled u32 count field from SSH_MSG_USERAUTH_INFO_RESPONSE packets and passes it directly to Vec::with_capacity() without validation. In Rust, Vec::with_capacity(n) pre-allocates memory for n elements, where each element is Option<Bytes> (~24 bytes on 64-bit systems). A malicious client can specify n=0x10000000 (268 million) in a minimal ~50-byte packet, forcing the server to attempt allocating ~6.4GB of contiguous memory, exceeding system limits and triggering OOM termination. This is a classic CWE-770 (Allocation of Resources Without Limits or Throttling) vulnerability in the SSH protocol implementation layer. The issue occurs during the authentication negotiation phase, specifically when the server sends keyboard-interactive prompts (common for 2FA/TOTP implementations) and awaits client responses. The attack exploits the gap between SSH key exchange (which establishes encryption but not authentication) and actual credential validation.
Know when Russh gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
Russh is a Rust SSH client & server library. Prior to version 0.60.1, a pre-authentication denial-of-service vulnerability exists in the server's keyboard-interactive authentication handler. A malicious client can crash any russh-based server that implements keyboard-interactive auth (e.g., for 2FA/TOTP) with a single malformed packet, requiring no credentials. This issue has been patched in version 0.60.1.
Executive ViewAI
CVE-2026-42189 is a pre-authentication denial-of-service vulnerability in the russh SSH server library that allows remote attackers to crash affected servers with a single malformed packet, requiring no credentials or prior access. Organizations using russh versions before 0.60.1 for SSH services face immediate service availability risk, as attackers can trigger out-of-memory conditions before authentication gates take effect. This vulnerability directly impacts business continuity for any system relying on russh for SSH access.
Vendor-released patch: russh 0.60.1. If immediate patching is not feasible, implement network-level mitigations: rate limiting SSH connections at the firewall/load balancer, restrict SSH access to known IP ranges via ACLs, and monitor for excessive failed SSH authentication attempts followed by disconnects (signature of OOM attacks).
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
Russh is a Rust SSH client & server library. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable,
russh is a Rust SSH client and server library. Rated medium severity (CVSS 5.9), this vulnerability is remotely exploita
Unauthenticated remote denial of service in the Russh SSH library (versions ≤ 0.62.3) allows any network attacker to cra
Denial-of-service in russh's Curve25519 key exchange client path allows any malicious SSH server to crash a connecting r
russh's SSH agent server signs with keys loaded under the confirm constraint without ever invoking the application's app
Improper validation in the Russh Rust SSH library (versions prior to 0.63.1) lets a malicious or compromised SSH server
Denial of service in Russh (Rust SSH client/server library) versions 0.34.0 through 0.60.x allows remote SSH peers to tr
Denial of service in Russh (versions 0.37.0-0.60.x), a Rust SSH client and server library, allows a malicious SSH server
Memory exhaustion in the Russh Rust SSH client/server library prior to 0.63.2 allows an authenticated remote peer to sta
The Windows Pageant client inside the pageant Rust crate (pageant/src/wmmessage.rs) trusts a peer-controlled u32 respons
Resource exhaustion in Russh's SSH server identification-string reader allows unauthenticated remote attackers to hold c
EUVD-2026-28822
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB