Vulnerabilities

Security fix · CVE-2026-116696

russh's SSH agent server is susceptible to unbound allocations via repeated SSH_AGENT_CONSTRAIN_CONFIRM messages

Published Oct 30, 2026 · catalog updated Oct 30, 2026 · russh's SSH agent server

Last checked Nov 3, 2026. A connected source was read within the last 7 days.

Check if you run it

No confirmed exploitation is on record for CVE-2026-116696. EPSS is 0.11%. Act only if a listed version of russh's SSH agent server is installed.

Gaps on this record

  • The stored product name is a package slug. The name on this page is taken from the title (russh's SSH agent server).
  • No vendor fix or required action is stored. Compare the linked advisory before you change production.
Severity
Low3.3
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
0.11%
Remediation
Version ranges on file
Affected products
cargo russh · crates.io russh · rust russh

### Summary **All evidence, reproduction steps, and scripts in the report were verified against a real running instance. Nothing is fabricated or synthetic; every verdict is backed by captured output from an actual deployment.** The SSH agent server that ships with russh ( ) parses client key-addition requests and, for each (0x02) record it finds, pushes one value into a per-key vector inside an unbounded loop, then stores the resulting pair permanently in its keystore ( ). Neither the constraint vector nor the keystore has a size or count limit: the only boundary is the 256 KiB agent frame cap, and every 1-byte record a client sends becomes a 56-byte enum retained for the life of the process. Any process that can connect to the agent socket - the same trust model the project itself established when fixing a prior advisory about this same request handler - can therefore grow the agent's memory without bound and renew the growth at will: six 256 KiB requests retained 72.4 MiB (about 12.1 MiB per request, a roughly 48-fold amplification) while an equal number of unconstrained key additions retained nothing, measured against the unmodified server through its public API on v0.64.1. The earlier fix for that prior advisory deduplicates only the sibling (0x01) record type and leaves this parallel variant untouched, and since constrained keys never expire the retained memory is never reclaimed. ### Details When a client adds a key with constraints, the server walks the constraint section byte by byte and collects typed values with no upper bound on how many it will accept: The enum is aligned to its largest variant, so each 1-byte record on the wire costs 56 bytes of retained heap, and the frame cap of 256 KiB ( ) is the only thing shaping a single request - the number of requests, and the number of keys in the keystore, are unbounded. The project's fix for its prior agent advisory (commit 4c30503, shipped in 0.64.1) addressed the record by deduplicating lifetime entries an

Are you affected?

Enter the version you run. The result uses only the ranges stored on this record.

The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.

  • cargo russhversion unspecified
  • crates.io russh0 → 0.65.0
  • rust russh< 0.65.0

How to fix CVE-2026-116696

What to do

Three questions, each answered from this record only. Confirm the vendor advisory before you patch.

Should you patch?

No confirmed exploitation is on record for CVE-2026-116696. EPSS is 0.11%. Act only if a listed version of russh's SSH agent server is installed.

Which versions are affected?

Compare what you have installed with 0 → 0.65.0, < 0.65.0. Compare the installed version with the linked vendor advisory before you change production.

What should an analyst verify?

CWE-770: Allocation of Resources Without Limits or Throttling. EPSS 0.11%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 30, 2026 · GitHub Advisory Database

    Detected

    ### Summary **All evidence, reproduction steps, and scripts in the report were verified against a real running instance. Nothing is fabricated or synthetic; every verdict is backed by captured output from an actual deployment.** The SSH agent server that ships with russh ( ) parses client key-addition requests and, for each (0x02) record it finds, pushes one value into a per-key vector inside an u

  2. Oct 30, 2026 · GitHub Advisory Database

    Fix available

    russh fixed in 0.65.0

  3. Oct 30, 2026 · GitHub Advisory Database

    Fix available

    russh fixed in 0.65.0

  4. Oct 30, 2026 · GitHub Advisory Database

    Updated

    ### Summary **All evidence, reproduction steps, and scripts in the report were verified against a real running instance. Nothing is fabricated or synthetic; every verdict is backed by captured output from an actual deployment.** The SSH agent server that ships with russh ( ) parses client key-addition requests and, for each (0x02) record it finds, pushes one value into a per-key vector inside an u

Sources

  • CVE.orgVulnerability recordCVE-2026-116696

    Official CVE identifier

    cve.org
  • GitHub Advisory DatabasePackage advisoryGHSA-9wfm-jcj8-jfv9

    russh's SSH agent server is susceptible to unbound allocations via repeated SSH_AGENT_CONSTRAIN_CONFIRM messages

    github.com
  • GitLab Advisory DatabasePackage advisoryCVE-2026-116696

    All evidence, reproduction steps, and scripts in the report were verified against a real running instance. Nothing is fabricated or synthetic; every verdict is backed by captured output from an actual deployment. The SSH agent server that ships with russh (russh::keys::agent::server::serve) parses client key-addition requests and, for each SSH_AGENT_CONSTRAIN_CONFIRM (0x02) record it finds, pushes

    advisories.gitlab.com
  • OpenSSF OSV / OSV ScannerPackage advisoryGHSA-9wfm-jcj8-jfv9

    russh's SSH agent server is susceptible to unbound allocations via repeated SSH_AGENT_CONSTRAIN_CONFIRM messages

    osv.dev

References

Freshness

Last verified in this catalog Nov 3, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.

  • GitLab Advisory DatabaseNov 3, 2026
  • GitHub Advisory DatabaseNov 3, 2026
  • OpenSSF OSV / OSV ScannerNov 2, 2026
  • CVE.orgOct 31, 2026