CVE-2025-59530
HIGH7.5EPSS 0.03%Panic occurs when queuing undecryptable packets after handshake completion in github.com/quic-go/quic-go
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.
Affected packages (3)
- Debian/golang-github-lucas-clemente-quic-gofrom 0
- Go/github.com/quic-go/quic-gofrom 0, < 0.49.1
- Go/github.com/quic-go/quic-gofrom 0, < 0.49.1, >= 0.50.0, < 0.54.1
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | HIGH7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
References (9)
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2025-59530
- ADVISORYhttps://security-tracker.debian.org/tracker/CVE-2025-59530
- PATCHhttps://github.com/quic-go/quic-go
- WEBhttps://github.com/quic-go/quic-go/blob/v0.55.0/connection.go#L2682-L2685
- WEBhttps://github.com/quic-go/quic-go/commit/bc5bccf10fd02728eef150683eb4dfaa5c0e749c
- WEBhttps://github.com/quic-go/quic-go/commit/ce7c9ea8834b9d2ed79efa9269467f02c0895d42
- WEBhttps://github.com/quic-go/quic-go/pull/5354
- WEBhttps://github.com/quic-go/quic-go/security/advisories/GHSA-47m2-4cr7-mhcw
- WEBhttps://pkg.go.dev/vuln/GO-2025-4017