Skip to main content

Unbound DNS Resolver CVE-2026-50046

| EUVDEUVD-2026-47672 MEDIUM
Use After Free (CWE-416)
2026-07-22 NLnet Labs GHSA-fg9v-m7xf-p865
5.9
CVSS 3.1 · Vendor: NLnet Labs
Share

Severity by source

Vendor (NLnet Labs) PRIMARY
5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.9 MEDIUM

Network-reachable without authentication (AV:N/PR:N) but requires precise timing, specific DoT+#authname configuration, and induced upstream failure (AC:H); only availability is impacted via daemon crash (A:H), with no confidentiality or integrity effect.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
3.7 LOW
qualitative

Primary rating from Vendor (NLnet Labs).

CVSS VectorVendor: NLnet Labs

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Jul 22, 2026 - 16:18 EUVD
Analysis Generated
Jul 22, 2026 - 13:52 vuln.today

DescriptionCVE.org

In NLnet Labs Unbound 1.15.0 up to and including 1.25.1, the TLS server name used for DNS-over-TLS (DoT) forwarded queries is tied to a struct's ('serviced_query') lifetime but also referenced by another struct ('waiting_tcp'). When the owning struct is jostled out of the mesh while the DoT TCP stream is still handshaking it frees the storage behind the referenced string and if the TLS stream then errors out, it dereferences the freed pointer. The dereference is read-only and the practical impact is a daemon crash resulting in denial of service. A malicious actor that knows a DoT forwarding/stub Unbound's configuration could exploit the vulnerability by quering records in the appropriate zone while keeping Unbound uder pressure so that the jostle logic kicks in. If answers for the vulnerable zone are slow, the likelihood of jostling such queries is higher, although the timing of the jostle needs to be precise. Requirements for a vulnerable Unbound is the existence of a stub/forward zone configured for DoT together with a configured '#authname' suffix on the server identification. The connectivity to the server needs to exhibit a transient failure at the correct time in order to kick off the vulnerable error path.

AnalysisAI

Use-after-free in NLnet Labs Unbound 1.15.0 through 1.25.1 crashes the DNS daemon via a dangling pointer to a freed TLS server name string in the DNS-over-TLS forwarding path. A remote attacker with knowledge of the target resolver's configuration can trigger the crash by sustaining query pressure against the configured DoT zone while inducing a transient upstream connection failure, causing denial of service. No public exploit code exists and this vulnerability has not been confirmed as actively exploited, but the network-accessible attack surface (PR:N) makes it relevant to operators running internet-facing recursive resolvers with DoT forwarding.

Technical ContextAI

Unbound (cpe:2.3:a:nlnet_labs:unbound:*:*:*:*:*:*:*:*) is an open-source validating recursive DNS resolver widely deployed at ISPs, enterprises, and in security appliances. The flaw (CWE-416, Use After Free) exists in the intersection of two internal data structures used during DNS-over-TLS forwarding: the serviced_query struct, which owns the TLS server name string for the upstream DoT target, and the waiting_tcp struct, which holds a reference to that same string. Unbound's internal 'jostle' logic, a load-management mechanism that evicts in-flight queries when the resolver is under pressure, can free the serviced_query - and its owned string - while the DoT TCP stream is still completing the TLS handshake. If the TLS handshake then encounters an error, the error handler dereferences the now-freed pointer. Because the dereference is read-only, the practical result is a segmentation fault and daemon crash rather than arbitrary code execution. The vulnerability is only reachable when DoT forwarding is active AND the server identification includes a #authname suffix, which is the field that populates the TLS server name string involved in the UAF.

RemediationAI

The primary remediation is to upgrade Unbound to the version released by NLnet Labs that addresses CVE-2026-50046 - the exact fixed version is not independently confirmed from the available data and operators should consult the vendor advisory at https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-50046.txt for the specific patched release. As an immediate workaround, removing the #authname suffix from all DoT server identification entries in the Unbound configuration eliminates the vulnerable code path entirely, though this disables TLS server name authentication for upstream DoT connections and reduces transport security assurance. A second workaround is to convert DoT stub/forward zones to standard DNS-over-UDP or DNS-over-TCP forwarding, which removes the DoT code path entirely but sacrifices encryption in transit. Operators who cannot patch or reconfigure immediately should consider rate-limiting inbound query rates to reduce the sustained pressure needed to trigger the jostle logic, though this does not eliminate the vulnerability and may impact resolver performance. Monitor for unexpected Unbound process restarts or crashes as an indicator of exploitation attempts.

CVE-2019-18934 HIGH POC
7.3 Nov 19

Unbound 1.6.4 through 1.9.4 contain a vulnerability in the ipsec module that can cause shell code execution after receiv

CVE-2026-33278 CRITICAL
9.1 May 20

Use-after-free in the DNSSEC validator of NLnet Labs Unbound resolver versions 1.19.1 through 1.25.0 allows remote attac

CVE-2026-42959 HIGH
8.7 May 20

Remote denial of service in NLnet Labs Unbound recursive DNS resolver (versions up to and including 1.25.0) allows an at

CVE-2026-42944 HIGH
8.7 May 20

Heap overflow denial-of-service in NLnet Labs Unbound recursive DNS resolver versions 1.14.0 through 1.25.0 allows remot

CVE-2026-32665 HIGH
7.5 Jul 22

Remote denial of service in NLnet Labs Unbound 1.22.0 through 1.25.1 lets an unauthenticated client exhaust configured m

CVE-2026-55973 HIGH
7.5 Jul 22

Remote denial-of-service in NLnet Labs Unbound 1.23.0 through 1.25.1 lets an attacker who controls a delegated DNS zone

CVE-2026-40691 HIGH
7.5 Jul 22

Remote denial-of-service in NLnet Labs Unbound 1.9.0 through 1.25.1 allows an unauthenticated attacker to crash the recu

CVE-2026-44690 HIGH
7.5 Jul 22

DNS cache poisoning in NLnet Labs Unbound (1.7.0 through 1.25.1) lets an actor who controls a single delegated zone unde

CVE-2022-3204 HIGH
7.5 Sep 26

A vulnerability named 'Non-Responsive Delegation Attack' (NRDelegation Attack) has been discovered in various DNS resolv

CVE-2020-10772 HIGH
7.5 Nov 27

An incomplete fix for CVE-2020-12662 was shipped for Unbound in Red Hat Enterprise Linux 7, as part of erratum RHSA-2020

CVE-2020-12663 HIGH
7.5 May 19

Unbound before 1.10.1 has an infinite loop via malformed DNS answers received from upstream servers. Rated high severity

CVE-2020-12662 HIGH
7.5 May 19

Unbound before 1.10.1 has Insufficient Control of Network Message Volume, aka an "NXNSAttack" issue. Rated high severity

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Micro 5.5 Affected
SUSE Linux Enterprise Module for Basesystem 15 SP7 Affected

Share

CVE-2026-50046 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy