Description
With NLnet Labs Unbound up to and including version 1.25.1, applications using libunbound and configured with 'unwanted-reply-threshold', could eventually be abruptly terminated if the threshold is reached and libunbound needs to call 'libworker_alloc_cleanup' since the function is absent from the function call allow list. When an application using libunbound sets 'unwanted-reply-threshold' to any non-zero value and the iterator queries an authoritative that replies with enough wrong-transaction-ID UDP datagrams to cross the threshold, the 'libworker_alloc_cleanup' will eventually be called. Since the function is absent from the function call allow list, this leads to a fatal exit of libunbound and eventual termination of the embedding application.Unbound itself is not affected since its relevant function 'worker_alloc_cleanup' is registed in the allow list and proceeds to perform the documented cache flush.
Published: 2026-07-22
Score: 5.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Libunbound applications that set a non‑zero 'unwanted‑reply‑threshold' value can be brought down after that number of incorrect‑ID UDP replies is received. The vulnerable library calls a cleanup routine that is not on the function‑call allow list, causing a fatal exit of libunbound and termination of the embedding process. The resulting effect is a service disruption to the affected application, classified as a denial of service.

Affected Systems

NLnet Labs Unbound binaries that link to libunbound, for all releases up to and including 1.25.1, when configured with any non‑zero 'unwanted‑reply‑threshold'. The core Unbound daemon is not affected because its cleanup routine is already in the allow list.

Risk and Exploitability

With a CVSS score of 5.9 the vulnerability is of moderate severity, and an EPSS score of less than 1% indicates a very low likelihood of exploitation. The vulnerability is not in the CISA KEV catalog. An attacker could trigger it by sending sufficient bogus‑ID UDP replies from a rogue authoritative server to a client using libunbound, provided the client has a non‑zero threshold set. The exploit can be performed remotely with crafted network traffic, but would require the victim to be actively using libunbound with the threshold enabled.

Generated by OpenCVE AI on August 3, 2026 at 23:49 UTC.

Remediation

Vendor Solution

This issue is fixed starting with version 1.25.2


OpenCVE Recommended Actions

  • Upgrade Unbound (or libunbound) to version 1.25.2 or later.
  • If an upgrade is not possible, set 'unwanted‑reply‑threshold' to 0 or disable the feature to prevent the trigger.
  • Use a libunbound build that has patched the cleanup routine and added it to the function‑call allow list.

Generated by OpenCVE AI on August 3, 2026 at 23:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 27 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Nlnetlabs
Nlnetlabs unbound
Vendors & Products Nlnetlabs
Nlnetlabs unbound

Wed, 22 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 22 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Description With NLnet Labs Unbound up to and including version 1.25.1, applications using libunbound and configured with 'unwanted-reply-threshold', could eventually be abruptly terminated if the threshold is reached and libunbound needs to call 'libworker_alloc_cleanup' since the function is absent from the function call allow list. When an application using libunbound sets 'unwanted-reply-threshold' to any non-zero value and the iterator queries an authoritative that replies with enough wrong-transaction-ID UDP datagrams to cross the threshold, the 'libworker_alloc_cleanup' will eventually be called. Since the function is absent from the function call allow list, this leads to a fatal exit of libunbound and eventual termination of the embedding application.Unbound itself is not affected since its relevant function 'worker_alloc_cleanup' is registed in the allow list and proceeds to perform the documented cache flush.
Title Libunbound applications configured with 'unwanted-reply-threshold' could eventually be abruptly terminated
Weaknesses CWE-754
References
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Nlnetlabs Unbound
cve-icon MITRE

Status: PUBLISHED

Assigner: NLnet Labs

Published:

Updated: 2026-07-22T14:21:22.388Z

Reserved: 2026-06-22T10:11:10.524Z

Link: CVE-2026-44621

cve-icon Vulnrichment

Updated: 2026-07-22T14:21:18.572Z

cve-icon NVD

Status : Analyzed

Published: 2026-07-22T14:17:18.913

Modified: 2026-07-24T13:56:30.607

Link: CVE-2026-44621

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T00:00:09Z

Weaknesses
  • CWE-754

    Improper Check for Unusual or Exceptional Conditions