Degradation of resolution service from improperly accounted client-terminated DNS-over-QUIC queries
In NLnet Labs Unbound 1.22.0 up to and including 1.25.1, client terminated DNS-over-QUIC (DoQ) queries are not accounted properly by Unbound resulting in low-cost inflation of the waiting number of replies for already in-flight resolution queries. This results in degradation of resolution service for new clients for already in-flight queries. A malicious actor can exploit the vulnerability by issuing DoQ queries for query names that need resolution and proceeding on immediately terminating the query by one of STOP_SENDING/RESET_STREAM/CONNECTION_CLOSE QUIC frames. Those terminated DoQ queries are not properly counted for and keep inflating the number of waiting replies for in-flight queries. When the maximum is reached, it results in silent query drops for new clients needing resolution for already in-flight queries. This vulnerability needs Unbound to be compiled with DoQ support ('--with-libngtcp2') and the 'quic-port' to be configured for the listening interfaces. Additionally, a malicious actor needs access to multiple source IPs to bypass the by-default configured 'wait-limit' option.
Problem Types
| Type | CWE ID | Description |
|---|
| CWE | CWE-772 | CWE-772: Missing Release of Resource after Effective Lifetime |
Type: CWE
Description: CWE-772: Missing Release of Resource after Effective Lifetime
Metrics
| Version | Base score | Base severity | Vector |
|---|
| 3.1 | 3.7 | LOW | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L |
Version: 3.1
Base score: 3.7
Base severity: LOW
Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Timeline
| Event | Date |
|---|
| Issue reported by Qifan Zhang | 2026-05-22 00:00:00 |
| NLnet Labs shares patch | 2026-06-17 00:00:00 |
| Qifan Zhang verifies patch | 2026-06-17 00:00:00 |
| Fixes released with version 1.25.2 | 2026-07-22 00:00:00 |
Event: Issue reported by Qifan Zhang
Date: 2026-05-22 00:00:00
Event: NLnet Labs shares patch
Date: 2026-06-17 00:00:00
Event: Qifan Zhang verifies patch
Date: 2026-06-17 00:00:00
Event: Fixes released with version 1.25.2
Date: 2026-07-22 00:00:00