Skip to content
OpenAdvisories
Medium · 4.3 CVE-2026-111061 EUVD-2026-104457GHSA-4wc5-f2rc-q74m

russh agent server converts constraint records into unbounded never-rolled-back tasks

Published Oct 19, 2026 · Updated Oct 19, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
Eugeny russh < 0.64.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 rust-russh 0.64.1-1 —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 rust-russh No fix yet —
ReleasePackageFixed inAdvisory
Red Hat Hardened Images 1 openshell +2 0.1.5-0.1.hum1 RHSA-2026:93904, RHSA-2026:90366

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling yazi 26.9.1-r5 —

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io russh < 0.64.1 0.64.1 GHSA-4wc5-f2rc-q74m

Advisories 2

References