Description
russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. From version 0.55.0 until version 0.65.1, the initial key exchange invokes client::Handler::kex_done() with the raw shared secret before check_server_key() accepts the server host key or certificate. A malicious SSH server can therefore trigger application-defined secondary-channel initialization or early data handling even when the server identity is subsequently rejected. Ordinary clients that keep the callback's no-op default or independently defer callback-derived actions until trust is confirmed are not affected. This issue is fixed in version 0.65.1.
Published: 2026-11-13
Score: 3.7 Low
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Analysis and contextual insights are available on OpenCVE Cloud.

Remediation

No vendor fix or workaround currently provided.

Additional remediation guidance may be available on OpenCVE Cloud.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9264-jvgf-6w2f russh kex_done: Shared-secret callback runs before server host-key verification
History

Fri, 13 Nov 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Eugeny
Eugeny russh
Vendors & Products Eugeny
Eugeny russh

Fri, 13 Nov 2026 19:15:00 +0000

Type Values Removed Values Added
Description russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. From version 0.55.0 until version 0.65.1, the initial key exchange invokes client::Handler::kex_done() with the raw shared secret before check_server_key() accepts the server host key or certificate. A malicious SSH server can therefore trigger application-defined secondary-channel initialization or early data handling even when the server identity is subsequently rejected. Ordinary clients that keep the callback's no-op default or independently defer callback-derived actions until trust is confirmed are not affected. This issue is fixed in version 0.65.1.
Title russh kex_done: shared-secret callback runs before server host-key verification
Weaknesses CWE-696
CWE-863
References
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-13T21:15:30.367Z

Reserved: 2026-11-12T21:24:51.131Z

Link: CVE-2026-128087

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-11-13T19:19:31.477

Modified: 2026-11-13T19:19:31.600

Link: CVE-2026-128087

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-13T21:30:21Z

Weaknesses