unbound: patch CVE-2026-55973

Details:
https://nvd.nist.gov/vuln/detail/cve-2026-55973

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
This commit is contained in:
Ankur Tyagi
2026-09-15 10:14:03 +05:30
committed by Anuj Mittal
parent 44c0618c07
commit 5d932adbde
2 changed files with 48 additions and 0 deletions
@@ -0,0 +1,47 @@
From f7511787affcc7f1716f76dcc924c3880fc1f88a Mon Sep 17 00:00:00 2001
From: "W.C.A. Wijngaards" <wouter@nlnetlabs.nl>
Date: Wed, 22 Jul 2026 10:18:16 +0200
Subject: [PATCH] - Fix CVE-2026-55973, 'dns-error-reporting: yes' leads to
stack buffer overflow. Thanks to Qifan Zhang, Palo Alto Networks, for the
report.
(cherry picked from commit 96f875552023c0ccf376ebe050519f12f3371dc9)
CVE: CVE-2026-55973
Upstream-Status: Backport [https://github.com/NLnetLabs/unbound/commit/96f875552023c0ccf376ebe050519f12f3371dc9]
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
---
services/cache/dns.c | 2 ++
services/mesh.c | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/services/cache/dns.c b/services/cache/dns.c
index 121870ee3..cb241c6f9 100644
--- a/services/cache/dns.c
+++ b/services/cache/dns.c
@@ -259,6 +259,8 @@ find_closest_of_type(struct module_env* env, uint8_t* qname, size_t qnamelen,
/* snip off front label */
lablen = *qname;
+ if(lablen == 0)
+ break;
qname += lablen + 1;
qnamelen -= lablen + 1;
}
diff --git a/services/mesh.c b/services/mesh.c
index 191b1d488..432063c0d 100644
--- a/services/mesh.c
+++ b/services/mesh.c
@@ -1620,9 +1620,9 @@ static void dns_error_reporting(struct module_qstate* qstate,
opt = edns_opt_list_find(qstate->edns_opts_back_in,
LDNS_EDNS_REPORT_CHANNEL);
if(!opt) return;
- agent_domain_len = opt->opt_len;
agent_domain = opt->opt_data;
- if(dname_valid(agent_domain, agent_domain_len) < 3) {
+ agent_domain_len = dname_valid(agent_domain, opt->opt_len);
+ if(agent_domain_len < 3) {
/* The agent domain needs to be a valid dname that is not the
* root; from RFC9567. */
return;
@@ -38,6 +38,7 @@ SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=https;branch=master;t
file://CVE-2026-54478.patch \
file://CVE-2026-55708.patch \
file://CVE-2026-55717.patch \
file://CVE-2026-55973.patch \
"
SRCREV = "f6269baa605d31859f28770e01a24e3677e5f82c"