Bug 1223245 - VUL-0: CVE-2024-32650: warp: rust-rustls: Infinite loop in rustls::conn::ConnectionCommon:complete_io() with proper client input
Summary: VUL-0: CVE-2024-32650: warp: rust-rustls: Infinite loop in rustls::conn::Conn...
Status: NEW
Alias: None
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Atri Bhattacharya
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/402742/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-32650:7.5:(AV:...
Keywords:
Depends on:
Blocks: CVE-2024-32650
  Show dependency treegraph
 
Reported: 2024-04-22 11:41 UTC by Carlos López
Modified: 2024-04-22 16:31 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos López 2024-04-22 11:41:36 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
Comment 1 Atri Bhattacharya 2024-04-22 16:31:00 UTC
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.