CVE-2025-59530

quic-go has Client Crash Due to Premature HANDSHAKE_DONE Frame

Published Oct 10, 2025 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-47m2-4cr7-mhcw quic-go: Panic occurs when queuing undecryptable packets after handshake completion
History
Type Values Removed Values Added
First Time appeared Quic-go Project
Quic-go Project quic-go
Vendors & Products Quic-go Project
Quic-go Project quic-go
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
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.
Title quic-go has Client Crash Due to Premature HANDSHAKE_DONE Frame
Weaknesses CWE-617
CWE-755
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Oct 10, 2025, 4:31 PM
Reserved
Sep 17, 2025, 5:04 PM
Status
Deferred
Published
Oct 10, 2025, 4:15 PM
Modified
Oct 19, 2026, 4:10 PM
Severity
Moderate
Public date
Oct 10, 2025, 4:09 PM