CVE-2025-59530

quic-go has Client Crash Due to Premature HANDSHAKE_DONE Frame

State
Published
Severity
7.5 High
Published
Oct 10, 2025
Updated
Oct 10, 2025
Reserved
Sep 17, 2025

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HGitHub_M

Weaknesses

  • CWE-617 Reachable Assertion
  • CWE-755 Improper Handling of Exceptional Conditions

Affected Products

ProductVersions
quic-goquic-go
  • < 0.49.1Affected
  • >= 0.5.0, < 0.54.1Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.