The Trailer Frame Bug Class: RFC 9114 §4.1 as a Universal HTTP/3 State Machine Attack Surface

Sending an RFC 9114 §4.1 trailer HEADERS frame to production HTTP/3 infrastructure triggers state machine failures across two independent CDN edge implementations and the quiche client library. Server-side: 60-second goroutine hang (CDN-A) and 12,200ms QPACK decoder stall with 24.9× worker amplification (CDN-B). Client-side: permanent zombie stream leak in quiche driving Network Service memory from 6 MB to 339 MB before OOM. All three share the same root cause: the second HEADERS frame on a request stream reaches a code path with no defined handler. The threat model inversion — server pushing a malformed trailer toward client — transforms a server-side bug class into a drive-by browser memory exhaustion attack.

September 4, 2026 · 19 min · JM00NJ
The Trailer Frame Bug Class: RFC 9114 §4.1 as a Universal HTTP/3 State Machine Attack Surface

WebTransport Zombie Connections: RFC 9114 Trailer Frame Triggers Permanent Stream Leak & OOM in Microsoft Edge and Chromium | Protocol RE

A malformed trailer HEADERS frame (END_STREAM=0) on a WebTransport CONNECT stream leaves quiche’s stream state machine permanently stuck: trailers_decompressed_=true but fin_received()=false, causing IsDoneReading() to return false forever. The stream is never removed from stream_map_, ShouldKeepConnectionAlive() holds the QUIC connection open, and Edge sends PING keepalives every ~15s indefinitely. A single webpage can open thousands of these zombie connections with no server-side limit, exhausting Network Service memory and crashing the browser. Both MSRC and Chrome VRP declined to track as security issues.

September 3, 2026 · 20 min · JM00NJ
WebTransport Zombie Connections: RFC 9114 Trailer Frame Triggers Permanent Stream Leak & OOM in Microsoft Edge and Chromium | Protocol RE

HTTP/3 Trailer HEADERS Frame Triggers Unhandled Exception in Google ESF: 60s Hang & QUIC INTERNAL_ERROR 0x0001 | Protocol RE

A second HEADERS frame (RFC 9114 §4.1 trailer) on a YouTube ESF request stream causes a ~60-second server-side hang followed by QUIC INTERNAL_ERROR 0x0001, indicating an unhandled exception in ESF’s HTTP/3 state machine. The crash bypasses HTTP-layer rate limiting and WAF controls architecturally — the connection terminates at the transport layer before any HTTP request object is created. Confirmed deterministically across 3/3 runs. Google VRP declined to track as a security issue. Full PoC and cross-vendor evidence included.

August 9, 2026 · 6 min · JM00NJ
HTTP/3 Trailer HEADERS Frame Triggers Unhandled Exception in Google ESF: 60s Hang & QUIC INTERNAL_ERROR 0x0001 | Protocol RE
DigitalOcean Referral Badge