Bug 1222461 (CVE-2024-22189)

Summary: VUL-0: CVE-2024-22189: TRACKERBUG: quic-go: memory exhaustion attack against QUIC's connection ID mechanism
Product: [openSUSE] openSUSE Distribution Reporter: SMASH SMASH <smash_bz>
Component: SecurityAssignee: Security Team bot <security-team>
Status: NEW --- QA Contact: Security Team bot <security-team>
Severity: Major    
Priority: P3 - Medium CC: camila.matos
Version: Leap 15.6   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/400376/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-22189:7.5:(AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on: 1222468, 1222470, 1222472, 1222473, 1222475, 1222476, 1222477, 1222479, 1222480, 1222481, 1222483, 1222484, 1222487, 1222488    
Bug Blocks:    

Description SMASH SMASH 2024-04-08 12:13:16 UTC
quic-go is an implementation of the QUIC protocol in Go. Prior to version 0.42.0, an attacker can cause its peer to run out of memory sending a large number of `NEW_CONNECTION_ID` frames that retire old connection IDs. The receiver is supposed to respond to each retirement frame with a `RETIRE_CONNECTION_ID` frame. The attacker can prevent the receiver from sending out (the vast majority of) these `RETIRE_CONNECTION_ID` frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. Version 0.42.0 contains a patch for the issue. No known workarounds are available.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-22189
https://www.cve.org/CVERecord?id=CVE-2024-22189
https://github.com/quic-go/quic-go/commit/4a99b816ae3ab03ae5449d15aac45147c85ed47a
https://github.com/quic-go/quic-go/security/advisories/GHSA-c33x-xqrf-c478
https://seemann.io/posts/2024-03-19-exploiting-quics-connection-id-management
https://www.youtube.com/watch?v=JqXtYcZAtIA&t=3683s
https://bugzilla.redhat.com/show_bug.cgi?id=2273513
Comment 1 Camila Camargo de Matos 2024-04-08 12:16:09 UTC
This is a tracker bug, as quic-go is embedded in the following packages:
- openSUSE:Factory/caddy                   
- openSUSE:Factory/coredns                 
- openSUSE:Factory/coredns-for-k8s1.29     
- openSUSE:Factory/dnscrypt-proxy          
- openSUSE:Factory/dnsproxy                
- openSUSE:Factory/doggo                   
- openSUSE:Factory/istioctl                
- openSUSE:Factory/kubo                    
- openSUSE:Factory/rke2                    
- openSUSE:Factory/rke2-1.26               
- openSUSE:Factory/rke2-1.27               
- openSUSE:Factory/rke2-1.28               
- openSUSE:Factory/shadowsocks-v2ray-plugin
- openSUSE:Factory/syncthing               
- openSUSE:Factory/v2ray-core
Comment 2 Camila Camargo de Matos 2024-04-08 15:10:16 UTC
It seems like openSUSE:Factory/shadowsocks-v2ray-plugin is not actually affected by this issue.