NRDAX
Submit

← registry

NRDAX-T0387 - QPACK Blocked-Decode Flow-Control Leak

memory_amp · active · first seen 2026-07-13

provenance: Reproduced in NullRabbit's attack-reproduction pipeline

mechanism

The QPACK decoder returns QUIC stream- and connection-level flow-control credit for HEADERS bytes belonging to field sections that reference dynamic-table entries not yet inserted (Required Insert Count > inserted count), even though those bytes remain resident in the decoder's blocked-section heap buffer. An attacker sends such blocked field sections and never supplies the corresponding encoder-stream inserts, so the sections never decode or free, while continuing to send more HEADERS traffic using the wrongly-returned flow-control credit. This decouples flow-control accounting from actual buffer occupancy, letting the attacker drive unbounded heap growth in the decoder and exhaust memory/DoS the HTTP/3 stack.

instances (1)

chainprimitivefidelityoriginreproducer (bundle)source
http3 envoy_http3_qpack_blocked_decode_leak proxy reverse-engineered-cve envoy_http3_qpack_blocked_decode_leak -

related (memory_amp)

cite

https://nrdax.com/techniques/NRDAX-T0387

plain

NRDAX Registry. Technique NRDAX-T0387.

bibtex
@misc{nrdax_NRDAX_T0387,
  title = {QPACK Blocked-Decode Flow-Control Leak (NRDAX-T0387)},
  howpublished = {NRDAX Registry},
  url = {https://nrdax.com/techniques/NRDAX-T0387},
}
json (csl)
{
  "id": "nrdax-NRDAX-T0387",
  "type": "dataset",
  "title": "QPACK Blocked-Decode Flow-Control Leak (NRDAX-T0387)",
  "URL": "https://nrdax.com/techniques/NRDAX-T0387",
  "publisher": "NRDAX Registry"
}