diff --git a/meta-networking/recipes-support/unbound/unbound/CVE-2026-56444.patch b/meta-networking/recipes-support/unbound/unbound/CVE-2026-56444.patch
new file mode 100644
index 0000000000..e851bb4f12
--- /dev/null
+++ b/meta-networking/recipes-support/unbound/unbound/CVE-2026-56444.patch
@@ -0,0 +1,51 @@
+From 200cd7322d9462025b1d2b9f3e1fe5383735a6c6 Mon Sep 17 00:00:00 2001
+From: "W.C.A. Wijngaards" <wouter@nlnetlabs.nl>
+Date: Wed, 22 Jul 2026 10:19:50 +0200
+Subject: [PATCH] - Fix CVE-2026-56444, Degradation of resolution service when 
+  'discard-timeout' and 'serve-expired-client-timeout' are combined in  
+ unusual configuration. Thanks to Qifan Zhang, Palo Alto Networks,   for the
+ report. In addition, thanks to Xin Wang, Jiapeng Li,   and Jiajia Liu,
+ Northwestern Polytechnical University, for also   reporting this issue. In
+ addition, thanks to Haruki Oyama (Waseda   University), for also reporting
+ this issue.
+
+(cherry picked from commit 84d9682dd0876bc0cd118ecce03661f3443b0222)
+
+CVE: CVE-2026-56444
+Upstream-Status:Backport [https://github.com/NLnetLabs/unbound/commit/84d9682dd0876bc0cd118ecce03661f3443b0222]
+
+Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
+---
+ services/mesh.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/services/mesh.c b/services/mesh.c
+index 432063c0d..a6798953e 100644
+--- a/services/mesh.c
++++ b/services/mesh.c
+@@ -2505,9 +2505,10 @@ mesh_serve_expired_callback(void* arg)
+ 		log_dns_msg("Serve expired lookup", &qstate->qinfo, msg->rep);
+ 
+ 	for(r = mstate->reply_list; r; r = r->next) {
+-		struct timeval old;
+-		timeval_subtract(&old, mstate->s.env->now_tv, &r->start_time);
+-		if(mstate->s.env->cfg->discard_timeout != 0 &&
++		if(mesh_is_udp(r)) {
++		    struct timeval old;
++		    timeval_subtract(&old, mstate->s.env->now_tv, &r->start_time);
++		    if(mstate->s.env->cfg->discard_timeout != 0 &&
+ 			((int)old.tv_sec)*1000+((int)old.tv_usec)/1000 >
+ 			mstate->s.env->cfg->discard_timeout) {
+ 			/* Drop the reply, it is too old */
+@@ -2525,8 +2526,11 @@ mesh_serve_expired_callback(void* arg)
+ 				http2_stream_remove_mesh_state(r->h2_stream);
+ 			comm_point_drop_reply(&r->query_reply);
+ 			mstate->reply_list = reply_list;
++			log_assert(mstate->s.env->mesh->num_reply_addrs > 0);
++			mstate->s.env->mesh->num_reply_addrs--;
+ 			mstate->s.env->mesh->num_queries_discard_timeout++;
+ 			continue;
++		    }
+ 		}
+ 
+ 		i++;
diff --git a/meta-networking/recipes-support/unbound/unbound_1.24.2.bb b/meta-networking/recipes-support/unbound/unbound_1.24.2.bb
index 516ea20654..faf315876c 100644
--- a/meta-networking/recipes-support/unbound/unbound_1.24.2.bb
+++ b/meta-networking/recipes-support/unbound/unbound_1.24.2.bb
@@ -42,6 +42,7 @@ SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=https;branch=master;t
            file://CVE-2026-55990.patch \
            file://CVE-2026-55991.patch \
            file://CVE-2026-56416.patch \
+           file://CVE-2026-56444.patch \
            "
 
 SRCREV = "f6269baa605d31859f28770e01a24e3677e5f82c"
