LOW GitHub
CVE-2026-111062
A russh SSH server accepts a publickey authentication whose signature uses a different algorithm than the one named in the request
### Details
In `russh/src/server/encrypted.rs`, `server_read_auth_request_pk` (0.63.3, around lines 880-990):
* The requested algorithm name (`pubkey_algo`) is read and only used to decode the key: `PublicKeyOrCertificate::decode(&pubkey_algo, &pubkey_key)`. The derived `hash_alg` is then dropped (`PublicKeyOrCertificate::PublicKey { ref key, .. }`).
* The signature blob is decoded (`Signature::decode`) and verified with `Verifier::verify(&pubkey, &buf, &sig)`. `ssh-key` picks the hash from **
Affected Products
- rust/russh >= 0.34.0-beta.1, < 0.64.0
References
- https://github.com/advisories/GHSA-j7h2-66j4-ghjf
- https://github.com/Eugeny/russh/security/advisories/GHSA-j7h2-66j4-ghjf
- https://github.com/Eugeny/russh/commit/a0ded76bdc352f8fbeaaeb175fb2a0c586fbc8f2
- https://github.com/Eugeny/russh/releases/tag/v0.64.0
This low severity vulnerability was published on 2026-10-19 via GitHub. Affected: rust/russh >= 0.34.0-beta.1, < 0.64.0.
vulnfeed aggregates 17437 vulnerabilities from NVD, CISA KEV,
Ubuntu, Debian, Red Hat, Kubernetes, Exploit-DB, OSS-Security, GitHub and OpenStack — updated every 4 hours.