Your message dated Wed, 20 May 2026 17:18:40 +0000
with message-id <[email protected]>
and subject line Bug#1137187: fixed in unbound 1.25.1-1
has caused the Debian Bug report #1137187,
regarding unbound: CVE-2026-32792 CVE-2026-33278 CVE-2026-40622 CVE-2026-41292
CVE-2026-42534 CVE-2026-42923 CVE-2026-42944 CVE-2026-42959 CVE-2026-42960
CVE-2026-44390 CVE-2026-44608
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1137187: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1137187
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: unbound
Version: 1.25.0-1
Severity: grave
Tags: security upstream
Justification: user security hole
X-Debbugs-Cc: [email protected], Debian Security Team <[email protected]>
Hi,
The following vulnerabilities were published for unbound.
CVE-2026-32792[0]:
| NLnet Labs Unbound 1.6.2 up to and including version 1.25.0 has a
| denial of service vulnerability when compiled with DNSCrypt support
| ('--enable-dnscrypt'). A bad DNSCrypt query could underflow
| Unbound's DNSCrypt packet reading procedure that may lead to heap
| overflow. A malicious actor can exploit the vulnerability with a
| single bad DNSCrypt query that its decrypted plaintext consists
| entirely of '0x00' bytes and does not contain the expected '0x80'
| marker. Unbound would then start reading more bytes than necessary
| until it finds a non-'0x00' byte. Based on the underlying memory
| allocator and the memory layout, it could lead to heap overflow
| while reading followed by a crash. Likelihood of a crash is low,
| since it relies heavily on the underlying memory allocator and the
| memory layout. If the heap overflow does not happen, Unbound's later
| packet checks will deny the packet. Unbound 1.25.1 contains a patch
| with a fix to bound reading in the given buffer space.
CVE-2026-33278[1]:
| NLnet Labs Unbound 1.19.1 up to and including version 1.25.0 has a
| vulnerability in the DNSSEC validator that enables denial of service
| and possible remote code execution as a result of deep copying a
| data structure and erroneously overwriting a destination pointer. An
| adversary can exploit the vulnerability by controlling a malicious
| signed zone and querying a vulnerable Unbound. When DS sub-queries
| need to suspend validation due to NSEC3 computational budget
| exhaustion (introduced in Unbound 1.19.1), Unbound deep-copies
| response messages to preserve them across memory region teardown. A
| struct-assignment bug overwrites the destination's pointer with the
| source's pointer. After the sub-query region is freed, the resumed
| validator dereferences this dangling pointer, triggering a crash or
| potentially enabling arbitrary code execution. Unbound 1.25.1
| contains a patch with a fix to preserve the correct pointer when
| deep copying the data structure.
CVE-2026-40622[2]:
| NLnet Labs Unbound 1.16.2 up to and including version 1.25.0 has a
| vulnerability of the 'ghost domain names' family of attacks that
| could extend the ghost domain window by up to one cached TTL
| configured value. Similar to other 'ghost domain names' attacks, an
| adversary needs to control a (ghost) zone and be able to query a
| vulnerable Unbound. A single client NS query can cause Unbound to
| overwrite the cached expired parent-side referral NS rrset with the
| child-side apex NS rrset and essentially extend the ghost domain
| window by up to one cached TTL configured value ('cache-max-ttl').
| In configurations where 'harden-referral-path: yes' is used (non-
| default configuration), no client NS query is required since Unbound
| implicitly performs that query. Unbound 1.25.1 contains a patch with
| a fix that does not allow extension of TTLs for (parent) NS records
| regardless of their trust.
CVE-2026-41292[3]:
| NLnet Labs Unbound up to and including version 1.25.0 is vulnerable
| to a degradation of service attack related to parsing long lists of
| incoming EDNS options. An adversary sending queries with too many
| EDNS options can hold Unbound threads hostage while they are parsing
| and creating internal data structures for the options. Coordinated
| attacks can result in degradation and/or denial of service. Unbound
| 1.25.1 contains a patch with a fix to limit acceptable incoming EDNS
| options (100).
CVE-2026-42534[4]:
| NLnet Labs Unbound up to and including version 1.25.0 has a
| vulnerability in the jostle logic that could defeat its purpose and
| degrade resolution performance. Retransmits of the same query could
| renew the age of slow running queries and not allow the jostle logic
| to see them as aged and potential targets for replacement with new
| queries. An adversary who can query a vulnerable Unbound and who can
| control a domain name server that replies slowly and/or maliciously
| to Unbound's queries can exploit the vulnerability and degrade the
| resolution performance of Unbound. When Unbound's 'num-queries-per-
| thread' reaches its limit, the jostle logic kicks in. When a new
| query comes in, half of the available queries that are also slow to
| resolve are candidates for replacement. The vulnerability then
| happens because duplicate queries that need resolution would skew
| the aging result by using the timestamp of the latest duplicate
| query instead of the original one that started the resolution
| effort. Cache and local data response performance remains
| unaffected. Coordinated attacks could raise this to a denial of
| resolution service. Unbound 1.25.1 contains a patch with a fix to
| attach an initial, non-updatable start time for incoming queries
| that allow the jostle logic to work as intended.
CVE-2026-42923[5]:
| NLnet 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.
CVE-2026-42944[6]:
| NLnet Labs Unbound 1.14.0 up to and including version 1.25.0 has a
| vulnerability that results in heap overflow when encoding multiple
| NSID and/or DNS Cookie EDNS and/or EDNS Padding options in the reply
| packet. The relevant options ('nsid', 'answer-cookie', 'pad-
| responses' (default)) need to be enabled for the vulnerability to be
| exploited. An adversary who can query Unbound can exploit the
| vulnerability by attaching multiple NSID and/or DNS Cookie EDNS
| and/or EDNS Padding options to the query. A flaw in the size
| calculation of the EDNS field truncates the correct value which
| allows the encoder to overflow the available space when writing.
| Those two combined lead to a heap overflow write of Unbound
| controlled data and eventually a crash. Unbound 1.25.1 contains a
| patch with a fix to de-duplicate the EDNS options and a fix to
| prevent truncation of the EDNS field size calculation.
CVE-2026-42959[7]:
| NLnet Labs Unbound up to and including version 1.25.0 has a denial
| of service vulnerability in the DNSSEC validator that can lead to a
| crash given malicious upstream replies. When Unbound constructs
| chase-reply messages for validation, the code uses the wrong counter
| to calculate write offsets for ADDITIONAL section rrsets. DNAME
| duplication could increase the ANSWER section count and authority
| filtering could decrease the AUTHORITY section count and create an
| uninitialized array slot. Combining these two, the validator later
| dereferences this uninitialized pointer, causing an immediate
| process crash. An adversary controlling a DNSSEC-signed domain can
| trigger this bug with a single query by configuring a DNAME chain
| with unsigned CNAMEs and a response containing unsigned AUTHORITY
| records alongside signed ADDITIONAL glue records. Unbound 1.25.1
| contains a patch with a fix to use the proper counters to calculate
| the write offsets.
CVE-2026-42960[8]:
| NLnet Labs Unbound up to and including version 1.25.0 is vulnerable
| to poisoning via promiscuous records for the authority section.
| Promiscuous RRSets that complement DNS replies in the authority
| section can be used to trick Unbound to cache such records. If an
| adversary is able to attach such records in a reply (i.e., spoofed
| packet, fragmentation attack) he would be able to poison Unbound's
| cache. A malicious actor can exploit the possible poisonous effect
| by injecting RRSets other than NS that are also accompanied by
| address records in a reply, for example MX. This could be achieved
| by trying to spoof a reply packet or fragmentation attacks. Unbound
| would then accept the relative address records in the additional
| section and cache them if the authority RRSet has enough trust at
| this point, i.e., in-zone data for the delegation point. Unbound
| 1.25.1 contains a patch with a fix that disregards address records
| from the additional section if they are not explicitly relevant only
| to authority NS records, mitigating the possible poison effect. This
| is a complement fix to CVE-2025-11411.
CVE-2026-44390[9]:
| NLnet Labs Unbound up to and including version 1.25.0 has a
| vulnerability when handling replies with very large RRsets that
| Unbound needs to perform name compression for. Malicious upstream
| responses with very large RRsets with records that don't share a
| suffix above the root can cause Unbound to spend a considerable time
| applying name compression to downstream replies. This can lead to
| degraded performance and eventually denial of service in well
| orchestrated attacks. An adversary can exploit the vulnerability by
| querying Unbound for the specially crafted contents of a malicious
| zone with very large RRsets. Before Unbound replies to the query it
| will try to apply name compression which was an unbounded operation
| that could lock the CPU until the whole packet was complete. A
| compression limit was introduced in 1.21.1 for this but it didn't
| account for the case where records would not share any suffix above
| the root. That causes Unbound to go in a different code path because
| of the compression tree lookup failure and eventually not increment
| the compression counter for those operations. Unbound 1.25.1
| contains a patch with a fix that increments the compression counter
| regardless of the compression tree lookup. This is a complement fix
| to CVE-2024-8508.
CVE-2026-44608[10]:
| NLnet Labs Unbound 1.14.0 up to and including version 1.25.0 has a
| locking inconsistency vulnerability that when certain conditions are
| met (multi-threaded, RPZ XFR reload, RPZ zone with 'rpz-nsip'/'rpz-
| nsdname' triggers) it could result in heap use-after-free and
| eventual crash. An adversary can exploit the vulnerability if
| conditions are first met on a vulnerable Unbound, i.e., multi-
| threaded, an RPZ zone with 'rpz-nsip'/'rpz-nsdname' triggers and an
| ongoing XFR for that RPZ zone. Local RPZ files do not trigger the
| vulnerability. If the timing is right and an XFR happens at the same
| time another thread needs to read that RPZ zone, the reader may not
| hold the lock long enough and the thread applying the XFR may free
| objects that the reader is about to walk causing the use-after-free.
| Unbound 1.25.1 contains a patch with a fix to the locking code.
If you fix the vulnerabilities please also make sure to include the
CVE (Common Vulnerabilities & Exposures) ids in your changelog entry.
For further information see:
[0] https://security-tracker.debian.org/tracker/CVE-2026-32792
https://www.cve.org/CVERecord?id=CVE-2026-32792
[1] https://security-tracker.debian.org/tracker/CVE-2026-33278
https://www.cve.org/CVERecord?id=CVE-2026-33278
[2] https://security-tracker.debian.org/tracker/CVE-2026-40622
https://www.cve.org/CVERecord?id=CVE-2026-40622
[3] https://security-tracker.debian.org/tracker/CVE-2026-41292
https://www.cve.org/CVERecord?id=CVE-2026-41292
[4] https://security-tracker.debian.org/tracker/CVE-2026-42534
https://www.cve.org/CVERecord?id=CVE-2026-42534
[5] https://security-tracker.debian.org/tracker/CVE-2026-42923
https://www.cve.org/CVERecord?id=CVE-2026-42923
[6] https://security-tracker.debian.org/tracker/CVE-2026-42944
https://www.cve.org/CVERecord?id=CVE-2026-42944
[7] https://security-tracker.debian.org/tracker/CVE-2026-42959
https://www.cve.org/CVERecord?id=CVE-2026-42959
[8] https://security-tracker.debian.org/tracker/CVE-2026-42960
https://www.cve.org/CVERecord?id=CVE-2026-42960
[9] https://security-tracker.debian.org/tracker/CVE-2026-44390
https://www.cve.org/CVERecord?id=CVE-2026-44390
[10] https://security-tracker.debian.org/tracker/CVE-2026-44608
https://www.cve.org/CVERecord?id=CVE-2026-44608
[11] https://www.openwall.com/lists/oss-security/2026/05/20/5
Regards,
Salvatore
--- End Message ---
--- Begin Message ---
Source: unbound
Source-Version: 1.25.1-1
Done: Michael Tokarev <[email protected]>
We believe that the bug you reported is fixed in the latest version of
unbound, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Michael Tokarev <[email protected]> (supplier of updated unbound package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Wed, 20 May 2026 19:41:23 +0300
Source: unbound
Architecture: source
Version: 1.25.1-1
Distribution: unstable
Urgency: medium
Maintainer: unbound packagers <[email protected]>
Changed-By: Michael Tokarev <[email protected]>
Closes: 1137187
Changes:
unbound (1.25.1-1) unstable; urgency=medium
.
* new upstream security/bugfix release (Closes: #1137187):
- Fix CVE-2026-33278, Possible remote code execution during DNSSEC
validation
- Fix CVE-2026-42944, Heap overflow and crash with multiple nsid, cookie,
padding EDNS options
- Fix CVE-2026-42959, Crash during DNSSEC validation of malicious content
- Fix CVE-2026-32792, Packet of death with DNSCrypt
- Fix CVE-2026-40622, "Ghost domain name" variant
- Fix CVE-2026-41292, Parsing a long list of incoming EDNS options degrades
performance
- Fix CVE-2026-42534, Jostle logic bypass degrades resolution performance
- Fix CVE-2026-42923, Degradation of service with unbounded NSEC3
hash calculations
- Fix CVE-2026-42960, Possible cache poisoning attack while following
delegation
- Fix CVE-2026-44390, Unbounded name compression in certain cases
causes degradation of service
- Fix CVE-2026-44608, Use after free and crash in RPZ code
Checksums-Sha1:
d39ec195ff06f4af88ab73f6f91b62439a860d84 3319 unbound_1.25.1-1.dsc
382e12658a8c8e63ffb3edb1c6592b54a7a75ce3 6832247 unbound_1.25.1.orig.tar.gz
723ef826f6edc754243860023b4c8de79d878dd8 659 unbound_1.25.1.orig.tar.gz.asc
f0551a63b60164e777c71fc7ee5b183cba1cc87f 28460 unbound_1.25.1-1.debian.tar.xz
579409b2cb9756478949c1bd9e9634d0c828b4be 6971 unbound_1.25.1-1_source.buildinfo
Checksums-Sha256:
7d643c0e718c2c505d643b5f95685c16b115ad8185a1ee206292f3b3b35b5dde 3319
unbound_1.25.1-1.dsc
0fe8b6277b0959cfd17562debac0aa5f71e0b02dc4ffa9c60271c583edab586f 6832247
unbound_1.25.1.orig.tar.gz
387296d9a53d59fef89b5ccc3be7a58306fcb3c5febf1e99270ccca9030127a1 659
unbound_1.25.1.orig.tar.gz.asc
2e4fc847b61f48ae463a72301f7c47089e39b8f5d0584abe8a2fb3e07e0c335e 28460
unbound_1.25.1-1.debian.tar.xz
bbcd9c79db7e92a714efad8326d10c2e5067da95974b3f868a6b14bccd91f79c 6971
unbound_1.25.1-1_source.buildinfo
Files:
2d8342d02766ad425da48612e412e5c5 3319 net optional unbound_1.25.1-1.dsc
dce631cc8c882ebc707dade27e7fe6f3 6832247 net optional
unbound_1.25.1.orig.tar.gz
43b4636405a776623f1dd2dedd1e7f2e 659 net optional
unbound_1.25.1.orig.tar.gz.asc
087760f8687b331569088b50877bc8d5 28460 net optional
unbound_1.25.1-1.debian.tar.xz
21cb9d25a2a7b594d44cc6ce8fded7b6 6971 net optional
unbound_1.25.1-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
wsG7BAEBCgBvBYJqDeUtCRCCqkokOx6UeEcUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmePh3SAz1INTohMpSCGYgpPXmvPzTPGNr3QaQM805Cf
hxYhBGSqKrUx1WkDNmv++YKqSiQ7HpR4AAANExAAgRfkC0V27iuSlMnDh4lxkQoW
OGdQh3uSBIw49dTuDPgwFScktGO/ACMudhgMz8xxLnemTJMuwiLwzMgJ4Hbtv2Sx
yPMGkTs0qsD2xsGTMhCZkfPnDGmVDx7nXGJev2DvDMczHDm6ZDj0itKTi4n3b8OQ
3JNl6gSsiQ1XFTWb09Psq2hnJive6mfxhfwz2n748LJYKK438TKLxlQDkuggL9IY
SDOpPzwP1MzsC0auiT0FDiMITz/EYseZCe23iUhBrjqwr8PTP3AFVE2cxLe8DJyi
BXuqCJ7HxZsWJ/PsdYsFch4BoeJgbHqRx8KU22P9/eeMo1lNYeQpE4+2mPmYP8lI
rrN6s8b+x6ZSk2YCS6wN2vNgL+oI3rGvzKkwLsz43L8ggmFL77Kri0GRvp9JpLGb
uZshna4meL0fK9gunkNLjST4YcqKppI4CRsFlnB/Yi7qadBxKh/9B2j3HtE5ID46
q9jtShaDYaoN1c5gRsCZw/ys3wZCdN8d2c9EuJp/CY69UrRebc6cpyF9ed9G/pf7
C44Ir3UOrtfKdNZaWUi6cH6Ku5kjUBLsxtoRMnuvPt1Y2Zy9o1VUa0VR3Moa77UZ
9ZAu645ziUSB8GD0JMq4X8RkGpP0ZHqq4Nbwmx8LnJxdAw9xpTZNMVuNgtjoGgsW
C0NbnQ1dCoahwjgTlrA=
=QYg+
-----END PGP SIGNATURE-----
pgp8KCVlAIgLW.pgp
Description: PGP signature
--- End Message ---