Bug 1223234

Summary: VUL-0: CVE-2024-32650: rust-keylime: rust-rustls: Infinite loop in rustls::conn::ConnectionCommon:complete_io() with proper client input
Product: [Novell Products] SUSE Security Incidents Reporter: Carlos López <carlos.lopez>
Component: IncidentsAssignee: Alberto Planas Dominguez <aplanas>
Status: NEW --- QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: carlos.lopez
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/402742/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-32650:7.5:(AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1223211    

Description Carlos López 2024-04-22 11:36:07 UTC
rust-keylime 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 Alberto Planas Dominguez 2024-04-30 07:09:43 UTC
I also received the alert from github, but rust-keylime is not using rustls in any of the dependencies (directly or indirectly), they use openssl-sys.
  
  > cargo tree | grep rustls
  >
Comment 2 Alberto Planas Dominguez 2024-04-30 07:12:31 UTC
(In reply to Alberto Planas Dominguez from comment #1)
> I also received the alert from github, but rust-keylime is not using rustls
> in any of the dependencies (directly or indirectly), they use openssl-sys.
>   
>   > cargo tree | grep rustls
>   >

Ah ... of course I am wrong.  Was used for actix-web, that dropped the dependency.  I will release a new rust-keylime with the updated actix-web.