Bug 2257815 (CVE-2023-49295) - CVE-2023-49295 quic-go: memory exhaustion attack against QUIC's path validation mechanism
Summary: CVE-2023-49295 quic-go: memory exhaustion attack against QUIC's path validati...
Keywords:
Status: NEW
Alias: CVE-2023-49295
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2257826 2257827 2257829 2257830 2257832 2257828 2257831 2257833
Blocks: 2257834
TreeView+ depends on / blocked
 
Reported: 2024-01-11 07:06 UTC by TEJ RATHI
Modified: 2024-04-08 09:37 UTC (History)
27 users (show)

Fixed In Version: quic-go 0.40.1, quic-go 0.39.4, quic-go 0.38.2, quic-go 0.37.7
Doc Type: If docs needed, set a value
Doc Text:
A memory exhaustion vulnerability was found in Quic-GO, where a malicious client exploits the path validation mechanism to induce the server into accumulating an unbounded queue of PATH_RESPONSE frames, depleting its memory. The attacker controls the victim's packet send rate by overwhelming the server with numerous packets containing PATH_CHALLENGE frames. Through selective acknowledgments of received packets and manipulation of peer's Round-Trip Time (RTT) estimates, the attacker induces congestion control mechanisms to reduce the server's send rate significantly. Consequently, the victim server is compelled to store an increasing number of queued PATH_RESPONSE frames, resulting in memory exhaustion.
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2024:0855 0 None None None 2024-02-19 01:13:05 UTC

Description TEJ RATHI 2024-01-11 07:06:03 UTC
quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. An attacker can cause its peer to run out of memory sending a large number of PATH_CHALLENGE frames. The receiver is supposed to respond to each PATH_CHALLENGE frame with a PATH_RESPONSE frame. The attacker can prevent the receiver from sending out (the vast majority of) these PATH_RESPONSE frames by collapsing the peers congestion window (by selectively acknowledging received packets) and by manipulating the peer's RTT estimate. This vulnerability has been patched in versions 0.37.7, 0.38.2 and 0.39.4.

https://github.com/quic-go/quic-go/commit/17fc98c2d81dbe685c19702dc694a9d606ac56dc
https://github.com/quic-go/quic-go/commit/21609ddfeff93668c7625a85eb09f1541fdad965
https://github.com/quic-go/quic-go/commit/3a9c18bcd27a01c551ac9bf8bd2b4bded77c189a
https://github.com/quic-go/quic-go/commit/554d543b50b917369fb1394cc5396d928166cf49
https://github.com/quic-go/quic-go/commit/6cc3d58935426191296171a6c0d1ee965e10534e
https://github.com/quic-go/quic-go/commit/9aaefe19fc3dc8c8917cc87e6128bb56d9e9e6cc
https://github.com/quic-go/quic-go/commit/a0ffa757499913f7be69aa78f573a6aee3430ae4
https://github.com/quic-go/quic-go/commit/d7aa627ebde91cf799ada2a07443faa9b1e5abb8
https://github.com/quic-go/quic-go/security/advisories/GHSA-ppxx-5m9h-6vxf

Comment 3 TEJ RATHI 2024-01-11 08:20:29 UTC
Created caddy tracking bugs for this issue:

Affects: epel-8 [bug 2257827]
Affects: fedora-all [bug 2257829]


Created dnscrypt-proxy tracking bugs for this issue:

Affects: fedora-39 [bug 2257830]


Created golang-github-lucas-clemente-quic tracking bugs for this issue:

Affects: fedora-38 [bug 2257826]


Created golang-github-quic tracking bugs for this issue:

Affects: fedora-39 [bug 2257831]


Created receptor tracking bugs for this issue:

Affects: fedora-all [bug 2257832]


Created syncthing tracking bugs for this issue:

Affects: epel-8 [bug 2257828]
Affects: fedora-all [bug 2257833]

Comment 4 errata-xmlrpc 2024-02-19 01:13:03 UTC
This issue has been addressed in the following products:

  Red Hat Ansible Automation Platform 2.4 for RHEL 9
  Red Hat Ansible Automation Platform 2.4 for RHEL 8

Via RHSA-2024:0855 https://access.redhat.com/errata/RHSA-2024:0855


Note You need to log in before you can comment on or make changes to this bug.