Junglewise Threat Intelligence

CVE-2026-57497: webtransport-go is an implementation of the WebTransport protocol. Prior to 0.11.1, Session.parseNextCapsule() in session.go skips an unknow

CVE-2026-57497 · Severity: medium · CVSS 5.3 · Published 2026-09-14

Technologies: github.com/quic-go/webtransport-go (Go). Vendors: Go.

Executive brief

webtransport-go is a Go library used to implement the WebTransport protocol, which allows for high-performance communication between web clients and servers. A vulnerability in how the library handles unrecognized data packets (capsules) allows a malicious user to force the application to consume excessive amounts of memory. This can lead to a denial-of-service (DoS) condition where the application crashes or becomes unresponsive, disrupting service for all users.

Technical details

The vulnerability exists in the `Session.parseNextCapsule` function of webtransport-go. When the library encounters an unknown WebTransport capsule type on an HTTP/3 request stream, it attempts to skip it using `io.ReadAll`. Because the capsule reader is only limited by the length declared in the capsule header, a malicious peer can send a capsule with a massive payload, forcing the receiver to allocate a corresponding amount of memory. While QUIC flow control limits buffered data on the wire, it does not prevent this application-layer allocation because reading the stream advances the flow control window while the bytes are retained in memory. The issue is resolved in version 0.11.1 by using `io.Copy(io.Discard, r)` to drain unknown capsules without buffering them.

Affected products

  • quic-go webtransport-go <= 0.11.0

Timeline

  • 2026-06-20: other: Pull request to fix the issue submitted
  • 2026-07-05: patched: Version 0.11.1 released
  • 2026-07-24: advisory: GitHub Advisory published

References

Related threats