Description
In NLnet Labs Unbound 1.10.0 up to and including 1.25.1, when 'serve-expired: yes' is set together with a 'response-ip: <net> redirect' /'response-ip-data: <net> CNAME <target>' rule (or the RPZ 'rpz-cname-override' equivalent), a remote client who controls any delegated domain can crash the daemon. The serve-expired-client-timeout callback runs a two-pass loop to chase the respip-generated CNAME alias; on the second pass it resets 'alias_rrset' but not 'partial_rep'. Later, this inconsistency leads to a NULL pointer dereference and an eventual crash. A malicious actor can exploit the vulnerability by controlling any zone that replies with an A/AAAA record that falls inside the configured response-ip/rpz subnet. By delaying the answer when the previous record has expired, the vulnerable path of 'serve-expired-client-timeout' is taken leading to denial of service via the server crash.
Published: 2026-07-22
Score: 5.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability is a NULL pointer dereference (CWE‑476) that is triggered when the daemon processes serve‑expired-client‑timeout callbacks in combination with response‑ip or rpz‑cname‑override rules. When a client controls a delegated zone that returns an A/AAAA record falling inside the configured response‑ip/rpz subnet, the two‑pass loop that resolves the generated CNAME alias leaves partial_rep unset. On the second pass the unavailable pointer dereference causes the Unbound process to crash, resulting in a denial‑of‑service condition for all clients.

Affected Systems

The affected product is NLnet Labs Unbound. Versions from 1.10.0 through 1.25.1, inclusive, are vulnerable when the configuration enables serve‑expired: yes together with a response‑ip: <net> redirect or a response‑ip-data: <net> CNAME <target> rule (or the equivalent rpz‑cname‑override). A remote client with control over any delegated zone can exploit the flaw. Systems running these versions should verify that they are not using the vulnerable configuration.

Risk and Exploitability

With a CVSS score of 5.9 the severity is moderate, but the bug is remotely exploitable from any client that can control a delegated zone. The EPSS score is <1% and the vulnerability is not listed in the CISA KEV catalog, suggesting limited known exploitation. Nevertheless, the crash degrades availability of the DNS server. An attacker simply issues a DNS query that triggers serve‑expired after a record has expired to provoke the crash.

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

Remediation

Vendor Solution

This issue is fixed starting with version 1.25.2


OpenCVE Recommended Actions

  • Upgrade to Unbound 1.25.2 or newer, which contains the fixed bug.
  • If an upgrade cannot be performed immediately, temporarily disabling serve‑expired: yes in the configuration to eliminate the crash path.
  • Remove or revise any response‑ip or rpz‑cname‑override rules that direction traffic to a CNAME alias when serve‑expired is enabled, or ensure those rules are not active.

Generated by OpenCVE AI on August 3, 2026 at 23:45 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 In NLnet Labs Unbound 1.10.0 up to and including 1.25.1, when 'serve-expired: yes' is set together with a 'response-ip: <net> redirect' /'response-ip-data: <net> CNAME <target>' rule (or the RPZ 'rpz-cname-override' equivalent), a remote client who controls any delegated domain can crash the daemon. The serve-expired-client-timeout callback runs a two-pass loop to chase the respip-generated CNAME alias; on the second pass it resets 'alias_rrset' but not 'partial_rep'. Later, this inconsistency leads to a NULL pointer dereference and an eventual crash. A malicious actor can exploit the vulnerability by controlling any zone that replies with an A/AAAA record that falls inside the configured response-ip/rpz subnet. By delaying the answer when the previous record has expired, the vulnerable path of 'serve-expired-client-timeout' is taken leading to denial of service via the server crash.
Title 'serve-expired-client-timeout' and 'response-ip' CNAME redirect could lead to a crash
Weaknesses CWE-476
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:07:31.075Z

Reserved: 2026-06-22T12:27:22.813Z

Link: CVE-2026-55717

cve-icon Vulnrichment

Updated: 2026-07-22T14:07:27.402Z

cve-icon NVD

Status : Analyzed

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

Modified: 2026-07-24T14:24:16.293

Link: CVE-2026-55717

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses