Vulnerability RUSTSEC-2024-0450

High Risk
HIGH RISK
CVSS Score: 7.5
Score Range: 7.0–8.9
High severity vulnerabilities (CVSS 7.0–8.9). Serious vulnerabilities that should be prioritized soon after critical fixes.
2 years ago
August 14, 2024 at 12:00 PM UTC
Memory exhaustion from an unchecked SSH packet length
>=0.0.0-0 <0.44.1
>=0.0.0-0 <0.44.1

Summary

Memory exhaustion from an unchecked SSH packet length

Details

When reading a packet, russh took the 4-byte packet length sent by the peer and sized its receive buffer from it without any upper bound. The length is fully controlled by the other side of the connection and is read before authentication, so an unauthenticated client can claim packets of up to about 4 GiB and make a server allocate that much memory per connection. A few such connections are enough to run the process out of memory.

From 0.44.1, lengths above 256 KiB are rejected with Error::PacketSize before the buffer is sized.

Impacted packages

Timeline

Published
2 years ago
August 14, 2024 at 12:00 PM UTC
Fixed (0.44.1)
2 years ago
August 14, 2024 at 08:53 PM UTC
Last Modified
1 hour ago
November 12, 2026 at 08:00 AM UTC