CVE-2024-22189 QUIC's Connection ID Mechanism vulnerable to Memory Exhaustion Attack
An attacker can exhaust memory in quic-go by sending excessive connection ID frames, causing a denial of service.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-22189?
CVE-2024-22189 is a high-severity denial of service vulnerability in quic-go, published on 4 Apr 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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.
Weakness: CWE-770
Which versions are affected by CVE-2024-22189?
3 open source packages ship an affected version, including github.com/quic-go/quic-go.
| Package | Affected | Fixed in |
|---|---|---|
github.com/quic-go/quic-go Go | All versions | 0.42.0 |
github.com/quic-go/quic-go Go | All versions | 0.42.0 |
github.com/quic-go/quic-go Go | All versions | 0.42.0 |
Linux distribution packages (4)
caddy openSUSE:Tumbleweed | All versions | 2.8.4-1.1 |
coredns openSUSE:Tumbleweed | All versions | 1.11.1-5.1 |
kubo openSUSE:Tumbleweed | All versions | 0.27.0-2.1 |
syncthing openSUSE:Tumbleweed | All versions | 1.27.6-1.1 |
How do I fix CVE-2024-22189?
Upgrade github.com/quic-go/quic-go to 0.42.0 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2024-22189 being exploited?
There is no known exploitation of CVE-2024-22189 in the wild and no public exploit code.
Sources
Also known as AZL-39749, AZL-39851, DEBIAN-CVE-2024-22189, GHSA-c33x-xqrf-c478, GO-2024-2682, UBUNTU-CVE-2024-22189 and 5 more.