Skip to main content

russh CVE-2026-42189

| EUVDEUVD-2026-28822 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-05-08 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    TCP connect to SSH port
  2. Delivery
    Complete SSH key exchange
  3. Exploit
    Send USERAUTH_REQUEST (keyboard-interactive)
  4. Install
    Receive server prompts
  5. C2
    Send malformed USERAUTH_INFO_RESPONSE (n=0x10000000)
  6. Execute
    Trigger unbounded Vec allocation
  7. Impact
    OOM 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 Handler::auth_keyboard_interactive method returns Auth::Partial (sends prompts to client before credential validation). This configuration is typical for servers using multi-step authentication flows such as 2FA/TOTP, where the first step prompts for a one-time code. Servers using the default russh handler, which returns Auth::reject(), are not affected. No client authentication is required - the vulnerability exists in the pre-authentication phase after SSH key exchange but before credential verification. Attacker needs network reachability to the SSH service (default port 22). Exploitation is possible against any russh version prior to 0.60.1 meeting the keyboard-interactive configuration requirement. The attack does not depend on specific operating systems, client types, or non-default deployment settings beyond the authentication method choice.

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 Handler::auth_keyboard_interactive returns Auth::Partial are vulnerable; the default handler returns Auth::reject() and is immune. Real-world exposure depends on adoption of keyboard-interactive auth for multi-factor workflows. The attack is trivially repeatable faster than restart cycles, enabling persistent DoS. Confirmed end-to-end PoC exists per GitHub advisory, lowering exploitation barrier to script-kiddie level. No EPSS data or CISA KEV status provided in input - likely due to recent disclosure or limited russh deployment footprint compared to mainstream SSH servers (OpenSSH, Dropbear). Defenders should prioritize patching if keyboard-interactive is enabled; for others, this is lower priority but still warrants upgrade during normal maintenance windows to eliminate future risk if authentication methods change.

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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

russh < 0.60.1

Affected Packages

cargo russh fix: 0.60.1

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

Vendor (GitHub_M) PRIMARY 7.5 HIGH
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

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.1%
Top 76% exploitable
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Russh

View all
CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2024-43410 HIGH POC
7.5 Aug 21

Russh is a Rust SSH client & server library. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable,

CVE-2023-28113 MEDIUM POC
5.9 Mar 16

russh is a Rust SSH client and server library. Rated medium severity (CVSS 5.9), this vulnerability is remotely exploita

CVE-2026-73430 MEDIUM POC
5.3 Aug 12

Unauthenticated remote denial of service in the Russh SSH library (versions ≤ 0.62.3) allows any network attacker to cra

CVE-2026-73429 MEDIUM POC
5.3 Aug 12

Denial-of-service in russh's Curve25519 key exchange client path allows any malicious SSH server to crash a connecting r

CVE-2026-116794 HIGH
8.3 Oct 28

russh's SSH agent server signs with keys loaded under the confirm constraint without ever invoking the application's app

CVE-2026-102823 HIGH
7.5 Sep 29

Improper validation in the Russh Rust SSH library (versions prior to 0.63.1) lets a malicious or compromised SSH server

CVE-2026-48110 HIGH
7.5 Jun 10

Denial of service in Russh (Rust SSH client/server library) versions 0.34.0 through 0.60.x allows remote SSH peers to tr

CVE-2026-48107 MEDIUM
6.5 Jun 10

Denial of service in Russh (versions 0.37.0-0.60.x), a Rust SSH client and server library, allows a malicious SSH server

CVE-2026-102821 MEDIUM POC
6.5 Sep 29

Memory exhaustion in the Russh Rust SSH client/server library prior to 0.63.2 allows an authenticated remote peer to sta

CVE-2026-102820 MEDIUM POC
6.2 Sep 29

The Windows Pageant client inside the pageant Rust crate (pageant/src/wmmessage.rs) trusts a peer-controlled u32 respons

CVE-2026-48108 MEDIUM
5.3 Jun 10

Resource exhaustion in Russh's SSH server identification-string reader allows unauthenticated remote attackers to hold c

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy