CVE Catalog

CVE-2026-116696

LowCVSS 3.3
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.11%

1th percentile - higher than 1% of all known CVEs

Summary

russh before 0.65.0 in russh::keys::agent::server::serve accepts repeated SSH_AGENT_CONSTRAIN_CONFIRM records while adding a key and appends every Constraint::Confirm record to the key's retained constraint vector without a count or memory limit. A process that can connect to the agent socket, including the remote side of a forwarded agent session, can repeatedly add constrained keys and cause renewable memory growth that persists for the process lifetime because keys without a lifetime constraint do not expire. This is fixed in version 0.65.0.

Risk Assessment

A remote attacker can cause gradual, persistent memory growth in the SSH agent process, potentially leading to memory exhaustion and denial of service.

Recommendation

Update the russh library to version 0.65.0 or later. Restrict access to the SSH agent socket to trusted processes only.

Other vulnerabilities in russh

See all
Original NVD description (English source)

russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. Prior to 0.65.0, russh::keys::agent::server::serve in russh/src/keys/agent/server.rs accepts repeated SSH_AGENT_CONSTRAIN_CONFIRM records while adding a key and appends every Constraint::Confirm record to the key's retained constraint vector without a count or memory limit. A process that can connect to the agent socket, including the remote side of a forwarded agent session, can repeatedly add constrained keys and cause renewable memory growth that persists for the process lifetime because keys without a lifetime constraint do not expire. This issue is fixed in version 0.65.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS