{"id":2925,"date":"2026-09-17T14:02:59","date_gmt":"2026-09-17T14:02:59","guid":{"rendered":"https:\/\/thedigitalfortress.us\/?p=2925"},"modified":"2026-09-17T14:02:59","modified_gmt":"2026-09-17T14:02:59","slug":"critical-unbound-dnssec-validator-flaw-could-allow-rce-via-a-malicious-dns-zone","status":"publish","type":"post","link":"https:\/\/thedigitalfortress.us\/?p=2925","title":{"rendered":"Critical Unbound DNSSEC Validator Flaw Could Allow RCE via a Malicious DNS Zone"},"content":{"rendered":"<div>\n<p><span class=\"p-author\"><i class=\"icon-font icon-user\">\ue804<\/i><span class=\"author\">Swati Khandelwal<\/span><i class=\"icon-font icon-calendar\">\ue802<\/i><span class=\"author\">Sep 17, 2026<\/span><\/span><span class=\"p-tags\">Vulnerability \/ DNS Security<\/span><\/p>\n<\/div>\n<div id=\"articlebody\">\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiiFNFekCjM7qSAMNaeoNatwUPsjJY0Nj67yGKdlhq_zzLH9tyjQrXAByn9B6BvXEcMabyWnO5oWWE11_orN2h7G-7jRjGPSW48xtd4HySWIkI1fQzCbUDCVzRyc_KG3curUoXk4LgyckPwUO8aP65kR0CYnc90pkfXctHKXVQ7grKsc43drFZ63yRur20\/s1700-nu-rw-lo-l85-e365\/dns-admin.jpg\" style=\"display: block;  text-align: center; clear: left; float: left;\"><\/a><\/div>\n<p>Every release of the Unbound DNS resolver before 1.26.1 has a critical heap overflow in its DNSSEC validator, maintainer NLnet Labs said in an <a href=\"https:\/\/nlnetlabs.nl\/projects\/unbound\/security-advisories\/\" target=\"_blank\">advisory<\/a> on Wednesday.<\/p>\n<p>An attacker who controls a malicious zone and queries a vulnerable resolver can trigger it, enabling remote code execution.<\/p>\n<p>Unbound 1.26.1, released the same day, fixes the bug, tracked as <a href=\"https:\/\/nlnetlabs.nl\/downloads\/unbound\/CVE-2026-81642.txt\" target=\"_blank\">CVE-2026-81642<\/a>, along with eight other flaws. One of the eight, <a href=\"https:\/\/nlnetlabs.nl\/downloads\/unbound\/CVE-2026-82717.txt\" target=\"_blank\">CVE-2026-82717<\/a>, is a heap corruption bug in CNAME synthesis reported by Ben Morris of Anthropic. It could also lead to remote code execution \u00abunder certain systems and compilation options,\u00bb NLnet Labs said.<\/p>\n<p>NLnet Labs has not reported exploitation of either bug, and CISA&#8217;s entry for CVE-2026-81642 marked exploitation as \u00abnone\u00bb on Wednesday.<\/p>\n<p>NLnet Labs rates the DNSKEY flaw Critical, with a CVSS score of 4.0 (9.1), and its scoring lists a network attack vector requiring no privileges or user interaction. NVD listed the CVE as \u00abAwaiting Analysis\u00bb on Wednesday, so the 9.1 is the maintainer&#8217;s own score.<\/p>\n<p>The overflow happens while the validator digests a DNSKEY record whose owner name is a compression pointer into the record&#8217;s own data. The impact NLnet Labs lists is denial of service, with remote code execution possible \u00abthrough attacker controlled data.\u00bb<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/trust-world-update-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Cybersecurity\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhYq3TvePXpW0JIC7fXyv7A1W8KQqmb-AZqza2EuPyT0k8Nm5CwHYHISFLKXSKIAyR8JRtqEFQ4zx5jADiAkZKQ08nRWG1jCRV5YAbhKua7WaDdH1L6wsI-xOkoV4brlMfK44UwU-4Q1xqWg0uNN7sZkMCzci4RXYgWMNPHTtuKua7OR4oCbmxE10u0yKnR\/s728-nu-rw-lo-l85-e365\/tl-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>Every version up to and including 1.26.0 is affected. That includes 1.25.2, the security release from July, and 1.26.0, released on August 4. The Critical validator bug NLnet Labs fixed in May, <a href=\"https:\/\/nlnetlabs.nl\/downloads\/unbound\/CVE-2026-33278.txt\" target=\"_blank\">CVE-2026-33278<\/a>, is a different flaw, and the 1.25.1 update that fixed it does not fix this one.<\/p>\n<p><a name=\"more\"\/><\/p>\n<p>NLnet Labs attaches no configuration condition to that range, and it has not said whether a resolver with DNSSEC validation switched off is reachable.<\/p>\n<h3>Upgrade or Patch<\/h3>\n<p><a href=\"https:\/\/nlnetlabs.nl\/projects\/unbound\/download\/\" target=\"_blank\">Unbound 1.26.1<\/a> is available as source, with checksums and a PGP signature, and as Windows installers and binaries. If you cannot upgrade, the advisory gives two ways to patch the source tree:<\/p>\n<ul>\n<li>Apply the <a href=\"https:\/\/nlnetlabs.nl\/downloads\/unbound\/patch_CVE-2026-81642.diff\" target=\"_blank\">minimal patch<\/a> or the <a href=\"https:\/\/nlnetlabs.nl\/downloads\/unbound\/patch_CVE-2026-81642_with.diff\" target=\"_blank\">complete patch<\/a> for CVE-2026-81642 alone with patch -p1, for example patch -p1 &lt; patch_CVE-2026-81642_with.diff, then run make install.<\/li>\n<li>Apply the <a href=\"https:\/\/nlnetlabs.nl\/downloads\/unbound\/patch_combined_with-1.26.1_v2.diff\" target=\"_blank\">combined patch<\/a> for all nine fixes instead. A minimal version of it also exists.<\/li>\n<\/ul>\n<p>NLnet Labs says the standalone patches for CVE-2026-81642 and CVE-2026-82717 have been tested and work on 1.26.0. Its <a href=\"https:\/\/nlnetlabs.nl\/security-report\/\" target=\"_blank\">security policy<\/a> is to patch the latest released version.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-security-guide-b\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Cybersecurity\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiXA4q3EC_2cN4xiJDYmo1tVcCX5KORpjgj8jSp3DntuUZH4f0zu1Ru8jUwzShrquIuOxPb6q9TxJJXGuj7rxDRsXRSD34thOrXdZ9tDITDEj3Ocp0Z6GwhGekRTMhMnFjJ8UA5iSkfSnmnZrFzY5cmUlbCNiTNDNVrZvyef-AR_RLqwITnqZNi6PjeZkPC\/s728-nu-rw-lo-l85-e365\/AI-eBook-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p><a href=\"https:\/\/security-tracker.debian.org\/tracker\/source-package\/unbound\" target=\"_blank\">Debian&#8217;s security tracker<\/a> listed unbound 1.26.1-1 as fixed in unstable on Thursday, with the bookworm, trixie, and forky branches still listed as vulnerable.<\/p>\n<h3>The Nine Fixes<\/h3>\n<p>The <a href=\"https:\/\/github.com\/NLnetLabs\/unbound\/releases\/tag\/release-1.26.1\" target=\"_blank\">release notes<\/a> name nine CVEs. The table gives each one&#8217;s affected range and trigger condition in NLnet Labs&#8217; wording.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<th scope=\"col\" style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CVE<\/th>\n<th scope=\"col\" style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Severity<\/th>\n<th scope=\"col\" style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Affected versions<\/th>\n<th scope=\"col\" style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Needs<\/th>\n<th scope=\"col\" style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Impact<\/th>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CVE-2026-81642<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Critical<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Up to and including 1.26.0<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">An attacker who controls a malicious zone and queries the resolver<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Denial of service, possible remote code execution<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CVE-2026-82717<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">High<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Up to and including 1.26.0<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CNAME synthesis during an upstream response. Code execution \u00abunder certain systems and compilation options\u00bb<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Denial of service, possible remote code execution<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CVE-2026-81634<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">High<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Up to and including 1.26.0<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">A 255-length query name with a large TCP response, from a malicious name server or a tampered response<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Denial of service<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CVE-2026-77955<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Medium<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">1.13.2 up to and including 1.26.0<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Zones with zonemd-check: yes located below, but not at, a trust anchor<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Denial of service, a window where tampered zone data is served before the ZONEMD check<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CVE-2026-78227<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Medium<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">1.22.0 up to and including 1.26.0<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Built with &#8211;with-libngtcp2 and quic-port configured<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Denial of service<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CVE-2026-80225<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Medium<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Up to and including 1.26.0<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">A sustained stream of distinct uncached names over one TCP or DoT connection<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Degradation of service<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CVE-2026-82720<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Medium<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">1.12.0 up to and including 1.26.0<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Built with &#8211;with-libnghttp2 and https-port configured. NLnet Labs calls the impact limited<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Denial of service<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CVE-2026-85501<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Medium<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Up to and including 1.26.0<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Malicious zones serving the ReTrap algorithmic complexity attacks (TagTrap, DelegationTrap, NsecTrap, AdditionalTrap)<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Degradation of service<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">CVE-2026-77860<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Low<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">1.20.0 up to and including 1.26.0<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">\n        The serve-expired code path, bypassing a countermeasure added for<br \/>\n        DNSBomb\n      <\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Could take part in a pulsing DoS amplification attack<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The ReTrap fix also changes a default: val-clean-additional is now off, so Unbound no longer validates DNSSEC data in the additional section of a response by default.<\/p>\n<p>The bug was reported to NLnet Labs on August 11 by Yuqi Qiu, who found it with Xiang Li at Nankai University&#8217;s AOSP Lab, according to the timeline in the <a href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2026-81642\" target=\"_blank\">CVE record<\/a>. NLnet Labs shared a patch the next day and the reporter verified it on August 13. The fix shipped five weeks later in the 1.26.1 batch.<\/p>\n<p>NLnet Labs&#8217; security policy says that for issues not yet public it aims to release fixes \u00abin the order of weeks.\u00bb<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ue804Swati Khandelwal\ue802Sep 17, 2026Vulnerability \/ DNS Security Every release of the Unbound DNS resolver before 1.26.1 has a critical heap overflow in its DNSSEC validator, maintainer NLnet Labs said in&hellip;<\/p>\n","protected":false},"author":1,"featured_media":2926,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[58,1112,3435,70,33,316,3434,3436,2479],"class_list":["post-2925","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-critical","tag-dns","tag-dnssec","tag-flaw","tag-malicious","tag-rce","tag-unbound","tag-validator","tag-zone"],"_links":{"self":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/2925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2925"}],"version-history":[{"count":0,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/2925\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/media\/2926"}],"wp:attachment":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}