Skip to main content
← All vulnerabilities
CVE-2024-22189GHSA-C33X-XQRF-C478GO-2024-2682

QUIC's Connection ID Mechanism vulnerable to Memory Exhaustion Attack

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.42.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • quic-go quic-go

    fixed in 0.42.0

  • github.com/quic-go/quic-goGo

    fixed in 0.42.0

References 4

GitHub · quic-go/quic-go

seemann.io

youtube.com