Skip to main content

Russh EUVDEUVD-2026-36130

| CVE-2026-48108 MEDIUM
Improper Input Validation (CWE-20)
2026-06-10 GitHub_M GHSA-76r6-x97p-67vr
5.3
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI
5.3 MEDIUM

Network-reachable pre-auth SSH phase requires no credentials (PR:N) and no user interaction; impact is limited to partial availability with no confidentiality or integrity exposure.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

Lifecycle Timeline

2
Patch available
Jun 10, 2026 - 22:01 EUVD
Analysis Generated
Jun 10, 2026 - 21:21 vuln.today

DescriptionCVE.org

Russh is a Rust SSH client & server library. From version 0.34.0-beta.1 to before version 0.61.0, russh did not enforce the SSH identification-string rules as deliberately as OpenSSH. In particular, the server-side identification reader used the same permissive path as the client, allowing pre-banner lines from clients, and the reader did not enforce a bounded number of pre-banner lines. For a library server built on russh, this could allow a remote peer to hold connection setup resources in the cleartext pre-authentication phase with malformed identification input that should have been rejected early. This issue has been patched in version 0.61.0.

AnalysisAI

Resource exhaustion in Russh's SSH server identification-string reader allows unauthenticated remote attackers to hold connection setup resources indefinitely during the cleartext pre-authentication phase. Russh versions 0.34.0-beta.1 through 0.60.x used the same permissive identification reader for both client and server roles, failing to cap the number of pre-banner lines a connecting client could send before the SSH identification string - a constraint OpenSSH enforces strictly per RFC 4253. Any application serving SSH via russh is exposed to this pre-auth resource-holding condition. No public exploit code has been identified at time of analysis, and the vulnerability is not listed in CISA KEV.

Technical ContextAI

The SSH protocol (RFC 4253) defines a strict format for the identification string exchanged at connection setup (e.g., 'SSH-2.0-...'). Servers are permitted to send pre-banner text lines before their identification string; clients are not. Russh (CPE: cpe:2.3:a:eugeny:russh:*:*:*:*:*:*:*:*) incorrectly applied the same permissive reader code path to its server-side identification reader as to the client-side reader. This meant the server accepted pre-banner lines from inbound clients and placed no upper bound on how many such lines could precede the identification string. The root cause is CWE-20 (Improper Input Validation) - specifically, the absence of an input bound check on a streaming network protocol parser during the unauthenticated setup phase. Because this occurs before any cryptographic negotiation, the malformed input triggers resource holding in cleartext with zero authentication overhead for the attacker.

RemediationAI

The vendor-released patch is Russh version 0.61.0, which enforces bounded pre-banner line handling on the server-side identification reader, aligning behavior with OpenSSH and RFC 4253. Upgrade by updating the russh dependency in Cargo.toml to 0.61.0 or later and recompiling. The advisory is at https://github.com/Eugeny/russh/security/advisories/GHSA-76r6-x97p-67vr. For deployments that cannot upgrade immediately, compensating controls include: configuring network-layer connection rate limits per source IP (e.g., via iptables or a load balancer) to reduce the number of concurrent pre-auth resource holders; setting aggressive TCP connection timeouts at the infrastructure level to force-close stalled connections; and restricting SSH listener exposure to known IP ranges where operationally feasible. These controls reduce attack surface but do not eliminate the flaw - patching to 0.61.0 is the definitive fix.

More in SSH

View all
CVE-2014-6271 CRITICAL POC
9.8 Sep 24

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which

CVE-2014-6278 HIGH POC
8.8 Sep 30

GNU Bash through 4.3 bash43-026 does not properly parse function definitions in the values of environment variables, whi

CVE-2014-7169 CRITICAL POC
9.8 Sep 25

GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of

CVE-2012-6066 CRITICAL POC
9.3 Dec 04

freeSSHd.exe in freeSSHd through 1.2.6 allows remote attackers to bypass authentication via a crafted session, as demons

CVE-2014-6277 CRITICAL POC
10.0 Sep 27

GNU Bash through 4.3 bash43-026 does not properly parse function definitions in the values of environment variables, whi

CVE-2023-25136 MEDIUM POC
6.5 Feb 03

OpenSSH server (sshd) 9.1 introduced a double-free vulnerability during options.kex_algorithms handling. Rated medium se

CVE-2016-6210 MEDIUM POC
5.9 Feb 13

sshd in OpenSSH before 7.3, when SHA256 or SHA512 are used for user password hashing, uses BLOWFISH hashing on a static

CVE-2015-5600 HIGH POC
8.1 Aug 03

The kbdint_next_device function in auth2-chall.c in sshd in OpenSSH through 6.9 does not properly restrict the processin

CVE-2016-6515 HIGH POC
7.5 Aug 07

The auth_password function in auth-passwd.c in sshd in OpenSSH before 7.3 does not limit password lengths for password a

CVE-2024-6387 HIGH POC
8.1 Jul 01

Remote code execution in OpenSSH's sshd server (regression of CVE-2006-5051) allows unauthenticated remote attackers to

CVE-2012-5975 CRITICAL POC
9.3 Dec 04

The SSH USERAUTH CHANGE REQUEST feature in SSH Tectia Server 6.0.4 through 6.0.20, 6.1.0 through 6.1.12, 6.2.0 through 6

CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

Share

EUVD-2026-36130 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy