Vulnerability in russh (CVE-2026-48108)
Summary
Vulnerability in russh (CVE-2026-48108). Risk of unauthorized operations or information disclosure. Exploitable via russh. Mitigation: upgrade to 0.61.0 or later.
Original description
The description as published by the source.
Summary
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.
Details
RFC 4253 section 4.2 defines the SSH protocol version exchange. The identification string is a single line terminated by CR LF, must fit within 255 characters including CR LF, and clients should not send pre-banner lines before their SSH identification string.
Before the fix, russh's identification reader lived in:
russh/src/ssh_read.rsrussh/src/server/mod.rs
The same read_ssh_id() behavior was used for both client and server contexts. That allowed server-side parsing to accept preliminary banner lines from clients, even though RFC 4253 only describes server-side pre-identification text. The reader also discarded preliminary lines without a line-count cap, so a peer could repeatedly send short non-SSH lines and keep the connection in identification parsing until an application-level timeout or external resource limit intervened.
This also creates a remotely observable parser-state oracle inside a single connection. A client c…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-48108 has been found in russh.
Attackers can target a specific entry point like russh over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 5.3/10.
What to do: upgrade russh to 0.61.0 or later.
If unsure, ask your IT team or search "russh CVE-2026-48108" on the vendor's site.
CVE-2026-48108 (russh) — CWE-20 / CVSS v3 5.3
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: russh / SSH_MAX_BANNER_LEN / SSH_MAX_PRE_BANNER_LINES / remote_sshid
Patched: 0.61.0 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-20) exists in russh. Attackers reach the vulnerable code path via russh without authentication.
Check the vendor advisory for the affected versions of russh. Attack surface: russh / SSH_MAX_BANNER_LEN / SSH_MAX_PRE_BANNER_LINES / remote_sshid.
Severity: Medium (CVSS 5.3/10). Risk of unauthorized operations or information disclosure.
Update to 0.61.0.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'russh' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'russh' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
russhを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade russh to 0.61.0ステージング環境で 0.61.0 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2026-48108 rust-russh
References
- advisory nvd.nist.gov
- package github.com
- web github.com
- web github.com