Executive brief
Quicly, a networking library used by the H2O HTTP server to handle web traffic, contains a flaw in how it validates connection reset requests. An attacker positioned on the network path can send a specially crafted empty data pattern to prematurely terminate active web connections. This can lead to service disruptions and dropped connections for users accessing servers that rely on this library.
Technical details
Quicly, an IETF QUIC protocol implementation, fails to properly validate which of its four internal slots contain valid secret patterns for stateless resets. Because these slots are zero-initialized, the library incorrectly treats an all-zero pattern as a valid stateless reset token if the peer has not filled all four slots with legitimate patterns. An on-path attacker can exploit this by injecting a packet with an all-zero reset token, causing the library to terminate the connection. The root cause is a logic error in `is_stateless_reset` within `lib/quicly.c` where it failed to correctly iterate through and verify the state of remote Connection IDs (CIDs). This issue is addressed in commit dccf5d4.
Affected products
- h2o Quicly Prior to commit dccf5d4
Timeline
- 2026-05-29: advisory: GitHub Security Advisory published
- 2026-07-16: disclosed: CVE published to NVD