NRDAX-T0388 - Unbounded Header-List-Size Default OOM
memory_amp · active · first seen 2026-07-13
provenance: Reproduced in NullRabbit's attack-reproduction pipeline
mechanism
The node-side defect is an insecure default: the HTTP/3 codec's maxHeaderListSize defaults to the near-unbounded RFC 9114 ceiling ((1<<62)-1) whenever a peer omits SETTINGS_MAX_FIELD_SECTION_SIZE, instead of inheriting the safe bounded default already enforced for HTTP/1.1 and HTTP/2. An attacker simply never sends that setting, then transmits a HEADERS/QPACK block containing an enormous COUNT of distinct literal header fields; the codec keeps decoding and buffering each field with no size ceiling. The fix-class is enforcing a safe bounded default (and/or hard cap independent of peer-advertised settings) for field-section size in the HTTP/3 codec, which measurably manifests as unbounded heap growth culminating in OutOfMemoryError/process death.
instances (1)
| chain | primitive | fidelity | origin | reproducer (bundle) | source |
|---|---|---|---|---|---|
| http3 | netty_http3_field_section_oom | proxy | reverse-engineered-cve | netty_http3_field_section_oom | - |
related (memory_amp)
cite
https://nrdax.com/techniques/NRDAX-T0388
NRDAX Registry. Technique NRDAX-T0388.
@misc{nrdax_NRDAX_T0388,
title = {Unbounded Header-List-Size Default OOM (NRDAX-T0388)},
howpublished = {NRDAX Registry},
url = {https://nrdax.com/techniques/NRDAX-T0388},
} {
"id": "nrdax-NRDAX-T0388",
"type": "dataset",
"title": "Unbounded Header-List-Size Default OOM (NRDAX-T0388)",
"URL": "https://nrdax.com/techniques/NRDAX-T0388",
"publisher": "NRDAX Registry"
}