CVE-2024-32650
Rustls vulnerable to an infinite loop in rustls::conn::ConnectionCommon::complete_io() with proper client input
- State
- Published
- Severity
- 7.5 High
- Published
- Apr 19, 2024
- Updated
- Aug 2, 2024
- Reserved
- Apr 16, 2024
Description
Rustls is a modern TLS library written in Rust. `rustls::ConnectionCommon::complete_io` could fall into an infinite loop based on network input. When using a blocking rustls server, if a client send a `close_notify` message immediately after `client_hello`, the server's `complete_io` will get in an infinite loop. This vulnerability is fixed in 0.23.5, 0.22.4, and 0.21.11.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 7.5 High | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | GitHub_M |
Weaknesses
- CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')
Affected Products
| Product | Versions |
|---|---|
rustlsrustls |
|
References
- https://github.com/rustls/rustls/security/advisories/GHSA-6g7w-8wpp-frhj
- https://github.com/rustls/rustls/commit/2123576840aa31043a31b0770e6572136fbe0c2d
- https://github.com/rustls/rustls/commit/6e938bcfe82a9da7a2e1cbf10b928c7eca26426e
- https://github.com/rustls/rustls/commit/f45664fbded03d833dffd806503d3c8becd1b71e
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.