Skip to main content
← All vulnerabilities
CVE-2025-59530GO-2025-4017GHSA-47M2-4CR7-MHCW

quic-go has Client Crash Due to Premature HANDSHAKE_DONE Frame

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.49.1, 0.54.1
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. In versions prior to 0.49.0, 0.54.1, and 0.55.0, a misbehaving or malicious server can cause a denial-of-service (DoS) attack on the quic-go client by triggering an assertion failure, leading to a process crash. This requires no authentication and can be exploited during the handshake phase. This was observed in the wild with certain server implementations. quic-go needs to be able to handle misbehaving server implementations, including those that prematurely send a HANDSHAKE_DONE frame. Versions 0.49.0, 0.54.1, and 0.55.0 discard Initial keys when receiving a HANDSHAKE_DONE frame, thereby correctly handling premature HANDSHAKE_DONE frames.

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.49.1; From 0.5.0 · fixed in 0.54.1

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

    fixed in 0.49.1; From 0.50.0 · fixed in 0.54.1

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

    fixed in 0.49.1

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

    From 0.50.0 · fixed in 0.54.1

References 3

GitHub · quic-go/quic-go