CVE-2026-50252
Nlnetlabs Unbound 1.4.22 – 1.25.2
Raw vector
CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:H/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:AmberSummary
CVE-2026-50252 is a medium-severity Acceptance of Extraneous Untrusted Data With Trusted Data (CWE-349) vulnerability in Nlnetlabs Unbound. Its CVSS base score is 5.7 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Subvert Trust Controls (T1553); ranked at the 4th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to AC-4 (Information Flow Enforcement) and SI-10 (Information Input Validation) — see the control section below for these in your framework.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-47676
Vulnerability Data
In NLnet Labs Unbound 1.4.22 up to and including 1.25.1, UDP source port is randomized and intended to serve as a secret value that increases the entropy of DNS transactions. When resolver load balancing policies depend on the source port…
more
while their outcome is revealed this secrecy is undermined. The vulnerability arises when the load balancing policy is consistent with respect to the incoming source UDP port and IP address while heavily depending on the incoming source UDP port as a randomization source. When the SO_REUSEPORT configuration option is enabled ('so-reuseport: yes') in Unbound (by default), it meets these conditions, making it vulnerable for DNS cache poisoning attacks. Upon startup, Unbound randomly partitions the available UDP source port space into disjoint subsets of (almost) equal size, assigning each subset to a specific worker thread. When an incoming DNS query is received, the kernel’s SO_REUSEPORT load balancing mechanism deterministically assigns the query to a socket associated with a particular thread. All outgoing DNS queries generated during the resolution of that request use source ports selected exclusively from the port subset assigned to the corresponding thread. Since these port subsets are disjoint across threads, the source port observed in a resolver’s outgoing query to an authoritative name server serves as a reliable indicator of the worker thread that processed the original client query. A malicious actor can acquire the mapping between incoming UDP source ports (for a given fixed source IP address) and Unbound worker threads and leverage it to conduct DNS cache poisoning attacks by effectively lowering the random port population per thread.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 5 hardening rules · 2 OS baselines
V1.2.2V10.4.7V3.7.3V5.3.1
Mitigating Controls (NIST 800-53 r5) AI
Information flow enforcement can block untrusted data from being accepted or processed as if it were trusted.
Input validation directly stops acceptance of untrusted data mixed into trusted inputs.
Associating security attributes with data allows the system to distinguish and reject extraneous untrusted portions.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices directly address proper trust-boundary enforcement and input validation, preventing this class of weakness during development.
Cryptographic integrity checks on data-at-rest can detect tampering or substitution of untrusted content mixed with trusted data.
Cryptographic integrity mechanisms on data-in-transit can prevent acceptance of extraneous untrusted data by validating origin and detecting modification.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing can detect the weakness but does not itself implement preventive controls.
Secure development lifecycle mandates input validation and trust-boundary enforcement that directly prevents acceptance of untrusted data alongside trusted data.
Application security requirements explicitly call for strict separation and validation of trusted versus untrusted data sources.
Secure architecture principles require explicit trust boundaries and data-origin checks that mitigate mixing of trusted and untrusted inputs.
Secure coding standards mandate input sanitization and provenance checks that prevent acceptance of extraneous untrusted data.
Information access restriction limits who can supply data but does not address validation of data origin or trust level.
Hardening callouts derived
Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).
Oracle Linux 8 (1 rule)
- V-248574 YUM must be configured to prevent the installation of patches, service packs, device drivers, or OL 8 system components that have not been digitally signed using a certificate that is recognized and approved by the organization. prevents CWE-349