Live › vulnerability › CVE-2026-116696
Go to dashboardThe russh Rust SSH library's agent server appends every SSH_AGENT_CONSTRAIN_CONFIRM record when adding a key, with no count or size limit. A client that can reach the agent socket, including a forwarded agent session, can grow the process's memory until it runs out.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-27 21:29 UTC. All times on this page are UTC.
Only applications that run the russh SSH agent server, serving an agent socket that clients can connect to, are exposed. Applications that only use russh as an SSH client, or that do not expose the agent server, can skip it. The sources do not say how the agent is typically exposed beyond the socket and forwarded sessions.
No product ranges from the sources yet.
Cargo.lock for russh below 0.65.0russh::keys::agent::server::serve, which is the vulnerable agent serverrussh to 0.65.0 or laterEach row is the first time that source carried this signal. The analyst’s rows are its own findings.
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.
This page as .md · .json · in your agent: get_signal("CVE-2026-116696")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.