CVE-2026-42923
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedNLnet Labs Unbound up to and including version 1.25.0 has a vulnerability in the DNSSEC validator where the code path to consult the negative cache for DS records does not take into account the limit on NSEC3 hash calculations introduced in 1.19.1. This leads to degradation of service during the attack. An adversary that controls a DNSSEC signed zone can exploit this by signing NSEC3 records with acceptably high iterations for child delegations and querying a vulnerable Unbound. Unbound will keep performing the allowed hash calculations on the NSEC3 records and will not limit the work by the mitigation introduced in 1.19.1. As a side effect, a global lock for the negative cache will be held for the duration of the hashing, blocking other threads that need to consult the negative cache. Coordinated attacks could raise the vulnerability to denial of service. Unbound 1.25.1 contains a patch with a fix to bound the vulnerable code path with the existing limit for NSEC3 hash calculations.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceUnbound up to 1.25.0 has a DNSSEC validation vulnerability where the negative cache lookup path for DS records ignores the NSEC3 hash calculation limit introduced in version 1.19.1. An attacker controlling a DNSSEC-signed zone can craft NSEC3 records with high iterations; when Unbound processes these, it performs unbounded hash calculations while holding a global negative cache lock, blocking other threads and causing denial of service.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data>= 1.19.1, < 1.25.1CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify installed Unbound versionRun `unbound -V` or `unbound-version` to retrieve the version numberAffected if Version is >= 1.19.1 and < 1.25.1
-
Locate Unbound configuration fileCheck common paths such as /etc/unbound/unbound.conf or files in /etc/unbound/unbound.conf.d/Affected if Configuration file exists and DNSSEC validation is enabled
-
Verify DNSSEC validation is enabledSearch configuration for `dnssec` directive set to `yes` or `validate`Affected if DNSSEC validation is enabled in the configuration
-
Confirm negative caching behaviorNegative caching for DS records is enabled by default when DNSSEC is active; no specific configuration toggle requiredAffected if DNSSEC is enabled (negative cache for DS records is active by default)
You are affected if Unbound version is 1.19.1 through 1.25.0 and DNSSEC validation is enabled in the configuration.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped1.25.1
Upgrade Unbound to version 1.25.1 or later, which applies the existing NSEC3 hash calculation limit to the vulnerable code path.
Unbound 1.25.1
- 1. Identify the current Unbound version installed in your environment using 'unbound -V' or checking your package manager.
- 2. Download Unbound version 1.25.1 from the official NLnet Labs repository or your system's package manager.
- 3. Upgrade Unbound to version 1.25.1 using your system's package management tools (e.g., apt-get, yum, dnf) or by compiling from source.
- 4. Verify the upgrade was successful by running 'unbound -V' and confirming the version shows 1.25.1.
- 5. Restart the Unbound service to load the updated version using 'systemctl restart unbound' or the appropriate service command for your system.
- 6. Monitor the service to ensure it is running correctly and DNS resolution is functioning as expected.
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation2.0 h
- Testing2.0 h
- Review / QA1.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $1,984.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-42923 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-42923 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data