diff --git a/meta-networking/recipes-support/unbound/unbound/CVE-2026-44621.patch b/meta-networking/recipes-support/unbound/unbound/CVE-2026-44621.patch
new file mode 100644
index 0000000000..2c581a30be
--- /dev/null
+++ b/meta-networking/recipes-support/unbound/unbound/CVE-2026-44621.patch
@@ -0,0 +1,98 @@
+From 3abdb762310bb50ef03f1ee0bbd4e09cb814fbb1 Mon Sep 17 00:00:00 2001
+From: "W.C.A. Wijngaards" <wouter@nlnetlabs.nl>
+Date: Wed, 22 Jul 2026 10:11:26 +0200
+Subject: [PATCH] - Fix CVE-2026-44621, Libunbound applications configured with
+   'unwanted-reply-threshold' could eventually be abruptly   terminated.
+ Thanks to Qifan Zhang, Palo Alto Networks, for the   report.
+
+(cherry picked from commit f52a9e864bfa0f10d8816b64130586b1d224c474)
+
+CVE: CVE-2026-44621
+Upstream-Status: Backport [https://github.com/NLnetLabs/unbound/commit/f52a9e864bfa0f10d8816b64130586b1d224c474]
+
+Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
+---
+ daemon/worker.c                | 5 +++++
+ dnstap/unbound-dnstap-socket.c | 5 +++++
+ smallapp/worker_cb.c           | 6 ++++++
+ testcode/doqclient.c           | 5 +++++
+ util/fptr_wlist.c              | 1 +
+ 5 files changed, 22 insertions(+)
+
+diff --git a/daemon/worker.c b/daemon/worker.c
+index 8e4a9b3d6..b9fac0406 100644
+--- a/daemon/worker.c
++++ b/daemon/worker.c
+@@ -2560,6 +2560,11 @@ void libworker_event_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
+ 	log_assert(0);
+ }
+ 
++void libworker_alloc_cleanup(void* ATTR_UNUSED(arg))
++{
++	log_assert(0);
++}
++
+ int context_query_cmp(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b))
+ {
+ 	log_assert(0);
+diff --git a/dnstap/unbound-dnstap-socket.c b/dnstap/unbound-dnstap-socket.c
+index a01627de9..7d01eb220 100644
+--- a/dnstap/unbound-dnstap-socket.c
++++ b/dnstap/unbound-dnstap-socket.c
+@@ -1725,6 +1725,11 @@ void libworker_event_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
+ 	log_assert(0);
+ }
+ 
++void libworker_alloc_cleanup(void* ATTR_UNUSED(arg))
++{
++	log_assert(0);
++}
++
+ int context_query_cmp(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b))
+ {
+ 	log_assert(0);
+diff --git a/smallapp/worker_cb.c b/smallapp/worker_cb.c
+index 92ebe386d..876c7db4e 100644
+--- a/smallapp/worker_cb.c
++++ b/smallapp/worker_cb.c
+@@ -128,6 +128,12 @@ worker_alloc_cleanup(void* ATTR_UNUSED(arg))
+ 	log_assert(0);
+ }
+ 
++void
++libworker_alloc_cleanup(void* ATTR_UNUSED(arg))
++{
++	log_assert(0);
++}
++
+ struct outbound_entry* libworker_send_query(
+ 	struct query_info* ATTR_UNUSED(qinfo), uint16_t ATTR_UNUSED(flags),
+ 	int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec),
+diff --git a/testcode/doqclient.c b/testcode/doqclient.c
+index 238a93803..1994cd097 100644
+--- a/testcode/doqclient.c
++++ b/testcode/doqclient.c
+@@ -2671,6 +2671,11 @@ void libworker_event_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
+ 	log_assert(0);
+ }
+ 
++void libworker_alloc_cleanup(void* ATTR_UNUSED(arg))
++{
++	log_assert(0);
++}
++
+ int context_query_cmp(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b))
+ {
+ 	log_assert(0);
+diff --git a/util/fptr_wlist.c b/util/fptr_wlist.c
+index c6f3ca24a..3c863d5e1 100644
+--- a/util/fptr_wlist.c
++++ b/util/fptr_wlist.c
+@@ -609,6 +609,7 @@ int
+ fptr_whitelist_alloc_cleanup(void (*fptr)(void*))
+ {
+ 	if(fptr == &worker_alloc_cleanup) return 1;
++	else if(fptr == &libworker_alloc_cleanup) return 1;
+ 	return 0;
+ }
+ 
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 5c798c00d3..ac8cd281d6 100644
--- a/meta-networking/recipes-support/unbound/unbound_1.24.2.bb
+++ b/meta-networking/recipes-support/unbound/unbound_1.24.2.bb
@@ -26,6 +26,7 @@ SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=https;branch=master;t
            file://CVE-2026-46582.patch \
            file://CVE-2026-32665.patch \
            file://CVE-2026-42955.patch \
+           file://CVE-2026-44621.patch \
            "
 
 SRCREV = "f6269baa605d31859f28770e01a24e3677e5f82c"
