Bugzilla – Bug 1223245
VUL-0: CVE-2024-32650: warp: rust-rustls: Infinite loop in rustls::conn::ConnectionCommon:complete_io() with proper client input
Last modified: 2024-04-22 16:31:00 UTC
warp embeds rust-rustls: 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. References: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-32650 https://bugzilla.redhat.com/show_bug.cgi?id=2276085 https://www.cve.org/CVERecord?id=CVE-2024-32650 https://github.com/rustls/rustls/commit/2123576840aa31043a31b0770e6572136fbe0c2d https://github.com/rustls/rustls/commit/6e938bcfe82a9da7a2e1cbf10b928c7eca26426e https://github.com/rustls/rustls/commit/f45664fbded03d833dffd806503d3c8becd1b71e https://github.com/rustls/rustls/security/advisories/GHSA-6g7w-8wpp-frhj
Response from upstream developer: Thanks for bringing this to my attention. After reviewing the CVE closely and studying the involved components I come to the following conclusion: This CVE is only applicable for servers running rustls, not clients. The async-tungstenite crate does not use rustls as a server but merely as a client. Therefore I consider this CVE as not applicable to warp or magic-wormhole-rs. Of course I will still work with upstream to update and/or remove the rustls dependency (It is not actually used at all in most scenarios), but I do not consider it CVE-critical at this point.