Home

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.

PUBLISHED Reserved 2025-09-17 | Published 2025-10-10 | Updated 2025-10-10 | Assigner GitHub_M




HIGH: 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Problem types

CWE-617: Reachable Assertion

CWE-755: Improper Handling of Exceptional Conditions

Product status

< 0.49.1
affected

>= 0.5.0, < 0.54.1
affected

References

github.com/...uic-go/security/advisories/GHSA-47m2-4cr7-mhcw

github.com/quic-go/quic-go/pull/5354

github.com/quic-go/quic-go/blob/v0.55.0/connection.go

cve.org (CVE-2025-59530)

nvd.nist.gov (CVE-2025-59530)

Download JSON