NRDAX-T0382 - Error-Response Connection-State Leak
memory_amp · active · first seen 2026-07-13
provenance: Reproduced in NullRabbit's attack-reproduction pipeline
mechanism
dnsdist's DoQ/DoH3 receiver allocates per-error bookkeeping state whenever it emits a self-generated FORMERR/REFUSED/SERVFAIL/NOTIMP response, and attaches that state to the QUIC connection object rather than the completed stream/query, freeing it only on full connection teardown. An attacker opens a single DoQ/DoH3 connection and streams a large run of complete, well-formed queries engineered to each trigger a local error response, causing the per-error allocations to accumulate unboundedly for as long as the connection (or its parallel siblings) stays open. The fix-class is scoping/freeing per-error bookkeeping to the query/stream lifetime instead of the connection lifetime, bounding memory growth regardless of connection duration.
instances (1)
| chain | primitive | fidelity | origin | reproducer (bundle) | source |
|---|---|---|---|---|---|
| quic | dnsdist_doq_error_query_mem_leak | lab | reverse-engineered-cve | dnsdist_doq_error_query_mem_leak | - |
related (memory_amp)
cite
https://nrdax.com/techniques/NRDAX-T0382
NRDAX Registry. Technique NRDAX-T0382.
@misc{nrdax_NRDAX_T0382,
title = {Error-Response Connection-State Leak (NRDAX-T0382)},
howpublished = {NRDAX Registry},
url = {https://nrdax.com/techniques/NRDAX-T0382},
} {
"id": "nrdax-NRDAX-T0382",
"type": "dataset",
"title": "Error-Response Connection-State Leak (NRDAX-T0382)",
"URL": "https://nrdax.com/techniques/NRDAX-T0382",
"publisher": "NRDAX Registry"
}