Skip to main content

russh EUVDEUVD-2026-104457

| CVE-2026-111061 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-19 GitHub_M GHSA-4wc5-f2rc-q74m
4.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach agent socket (local or via forwarding)
  2. Delivery
    Send ADD_IDENTITY_CONSTRAINED with many lifetime records
  3. Exploit
    Spawn one task + key clone per 5-byte record
  4. Execution
    Repeat message stream (~141x amplification)
  5. Impact
    Exhaust agent memory and tasks, denying SSH agent service

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

The target must run russh (<= 0.64.0) as an SSH agent server, and the attacker must be able to speak the agent protocol to it. Two concrete paths qualify: (1) a local process with access to the agent's unix socket, or (2) a remote SSH server the victim connects to with agent forwarding enabled - russh clients accept the auth-agent@openssh.com channel by default (russh/src/client/mod.rs:2686). The specific trigger is an SSH_AGENTC_ADD_IDENTITY_CONSTRAINED request carrying many SSH_AGENT_CONSTRAIN_LIFETIME records. Limiting factors: no code execution or data disclosure is possible (availability-only), exploitation requires either local socket access or victim-initiated agent forwarding to an attacker-controlled endpoint, and hosts not using russh's agent server or not forwarding agents are unaffected.

Impact

This is a medium-severity denial-of-service issue, and the available signals are consistent in pointing to a bounded, non-critical risk. The provided CVSS 3.1 vector (AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L, base 4.3) limits impact to availability only (A:L) with no confidentiality or integrity effect, which matches the CWE-770 (unbounded resource allocation) classification and the described memory/task exhaustion. No EPSS score was provided and the CVE is not listed in CISA KEV, so there is no evidence of active exploitation; exploitation status is best described as 'publicly available exploit code exists' because the GHSA advisory includes a working, measured proof-of-concept (10.2 MiB of traffic producing ~2,096,120 tasks and +1.4 GiB RSS at ~141x amplification). The main nuance is the attack vector: CVSS encodes AV:A (adjacent), but the advisory describes two distinct paths - a local process reaching the agent socket (local) and a remote SSH server exploiting a client that uses agent forwarding (effectively remote-via-forwarded-channel). The realistic priority is moderate: easy and reliable to trigger where it applies, but confined to availability of the SSH agent process and gated on either local socket access or the victim using agent forwarding to an attacker-controlled server. Treat as a 'patch in normal cycle' issue rather than an emergency, prioritizing hosts that use russh-based agents with forwarding enabled.

Exploit ScenarioDerived

A user connects with a russh-based SSH client that has agent forwarding enabled to a malicious or compromised server; russh clients accept the auth-agent@openssh.com channel by default. The server repeatedly sends crafted SSH_AGENTC_ADD_IDENTITY_CONSTRAINED messages packed with many SSH_AGENT_CONSTRAIN_LIFETIME records, each spawning a long-lived task and cloning the key blob, until the agent process exhausts memory and task capacity and is starved or killed. A working, measured proof-of-concept is published in the GHSA advisory.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 19, 2026

Memory and task exhaustion in the russh SSH agent server (versions through 0.64.0) lets an unauthenticated attacker deny SSH agent service by sending a constrained add-key request packed with SSH_AGENT_CONSTRAIN_LIFETIME records. Each 5-byte lifetime record causes the agent to spawn a long-lived tokio task that clones the key blob, producing roughly 141x amplification; the public proof-of-concept in the advisory turned 10.2 MiB of protocol traffic into about 2.1 million live tasks and roughly 1.4 GB of RSS growth. Attackers can reach the agent socket locally or through agent forwarding to an attacker-controlled SSH server, and publicly available exploit code exists, though this is availability-only with no code execution or data disclosure.

RemediationAI

Upgrade russh to 0.64.1, which contains fix commit 4c305033d72f8e5dd21a3fd4c53a6c291a16ebd1 and is published at https://github.com/Eugeny/russh/releases/tag/v0.64.1; the advisory is at https://github.com/Eugeny/russh/security/advisories/GHSA-4wc5-f2rc-q74m. If upgrading is not immediately possible, restrict access to the agent's unix socket to trusted local users via filesystem permissions or socket activation, and disable SSH agent forwarding for connections to untrusted or attacker-controlled servers; note that russh clients accept auth-agent@openssh.com by default, so this requires an application-level change to refuse that channel. Running the agent under a cgroup or systemd MemoryMax/TasksMax limit can cap the blast radius but may still allow the agent to be starved or killed, so it is only a compensating control.

Affected VersionsENISA

russh < 0.64.1

Affected Packages

cargo russh fix: 0.64.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

russh implements the ssh-agent protocol, and the vulnerable path is the constrained add-identity request decoding loop in russh/src/keys/agent/server.rs. For every SSH_AGENT_CONSTRAIN_LIFETIME record (5 wire bytes), the loop spawned a separate tokio task that cloned the key blob and slept for the declared lifetime (up to roughly 136 years), with no per-request task budget and no rollback of already-spawned tasks when later constraint parsing failed. This is CWE-770, Allocation of Resources Without Limits or Throttling: attacker-controlled wire input is converted directly into resident tasks and heap at about 141x amplification, exhausting the agent process's memory and task capacity. The fix in 0.64.1 rejects duplicate lifetime constraints, parses all constraints before inserting the key, and spawns at most one lifetime task after a successful parse.

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 4.3 MEDIUM
AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI 4.3 MEDIUM

Agent socket is reachable by a local process or a forwarded remote server (AV:A), no auth or interaction needed (PR:N/UI:N), and impact is availability-only resource exhaustion (A:L, C/I:N).

3.1 AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Red Hat 4.3 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Oct 19, 2026 - 18:03 EUVD

DescriptionCVE.org

russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. Prior to 0.64.1, the agent server spawns a separate long-lived task for every SSH_AGENT_CONSTRAIN_LIFETIME record in a constrained add-key request. The loop accepts repeated lifetime records, clones the key blob into each task, and does not roll back tasks when later constraint parsing fails. An attacker that can speak the agent protocol locally or through agent forwarding can exhaust memory and tasks until the agent process is starved or terminated, denying SSH agent service. This issue is fixed in version 0.64.1.

Threat Intelligence Overview

EPSS Score
0.3%
Top 73% exploitable
Prevalence
Low
niche Rust SSH client/server library, limited production deployment footprint
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Controlled
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
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-42189 HIGH
7.5 May 08

Pre-authentication denial-of-service in russh SSH server library allows remote attackers to crash servers implementing k

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

Vendor StatusVendor

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