Approved changes feed: RSS · Atom
cpe:2.3:a:nlnet_labs:unbound:*:*:*:*:*:*:*:*
part: a version: * update: *
| Vendor | Nlnet Labs (0c10f96c-93c5-5f8a-9565-16ce18fb699e) |
|---|---|
| Product | Unbound (2eee63f7-db11-5f06-ae41-5552dd0eaa77) |
| Edition | * |
| Language | * |
| Software edition | * |
| Target software | * |
| Target hardware | * |
| Other | * |
| Notes | Imported from gcve-enriched-dumps CVE data |
PURL mappings
| PURL | Source | Last updated |
|---|---|---|
| No PURL mappings for this CPE yet. | ||
Vulnerability references
| Identifier | cpeApplicability | Submitted | db.gcve.eu details | Rationale |
|---|---|---|---|---|
CVE:CVE-2026-56444 |
vulnerable | 2026-07-29 01:00:29.162375 |
Degradation of resolution service when 'discard-timeout' and 'serve-expired-client-timeout' are combined in unusual configuration
MEDIUM (5.9)
In NLnet Labs Unbound 1.20.0 up to and including 1.25.1, when Unbound is configured with 'serve-expired: yes' and 'serve-expired-client-timeout > discard-timeout > 0' (contrary to the suggested values), the discard-timeout branch during the serve expired logic drops an aged client reply without performing the correct accounting for the number of reply addresses for the query. Other identical branches outside of serve expired perform the correct decrement. Since the counter is never decremented in such scenario, it can reach the maximum limit and new clients for duplicate in-flight queries are silently dropped resulting in degradation of resolution service. A malicious actor can exploit the vulnerability by querying the resolver for a client-controlled slow-on-demand authoritative zone that can drive the counter past the threshold. Shipped defaults for 'serve-expired-client-timeout: 1800' and 'discard-timeout: 1900' make the branch unreachable.
Published: 2026-07-22T13:10:34.229Z
Updated: 2026-07-22T13:58:09.702Z Reference links |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-56416 |
vulnerable | 2026-07-29 01:00:29.156380 |
Possible heap buffer overflow when validator canonicalizes RDATA that contains domain name
MEDIUM (4.8)
In NLnet Labs Unbound up to and including version 1.25.1, when the validator builds the canonical RDATA form for an RRSIG-covered PX/RP/MINFO/SOA RRset, it computes the address of the second embedded domain name as 'datstart + dname_valid(datstart, ...)' and passes it straight to 'query_dname_tolower()' without checking that a second name is actually present in the RDATA. The wire-format parser accepts multi-dname RRs whose RDATA ends after the first name, so an attacker who runs a DNSSEC-signed authoritative server can deliver a record with an absent second domain name (e.g. SOA record) and cause 'query_dname_tolower()' to walk label-by-label through stale bytes in the per-worker 'env->scratch_buffer', past the end of that heap allocation if 'msg-buffer-size' has been lowered from the default. This leads to heap buffer overflow and on a release build the outcome relies heavily on the contents of the buffer tail and the adjacent heap chunk.
Published: 2026-07-22T13:10:24.023Z
Updated: 2026-07-22T14:00:45.744Z Reference links |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-55991 |
vulnerable | 2026-07-29 01:00:28.692023 |
Remote DNS-over-QUIC (DoQ) flow-control assertion failure in libngtcp2
MEDIUM (5.9)
In NLnet Labs Unbound 1.22.0 up to and including 1.25.1, a remote unauthenticated client can trigger a libngtcp2 assertion (if compiled with assertions on) and terminate the entire Unbound process using a single DNS-over-QUIC (DoQ) connection and one normal DNS query. This is caused by an erroneous error value passed to libngtcp2. When 'ngtcp2_conn_writev_stream()' returns 'NGTCP2_ERR_STREAM_DATA_BLOCKED', Unbound continues to call 'ngtcp2_ccerr_set_application_error()' with a '-1' error value. The 'int' literal '-1' is implicitly converted to the function's 'uint64_t error_code' parameter as '0xFFFFFFFFFFFFFFFF'. The follow-on 'ngtcp2_conn_write_connection_close()' serialises that value as a QUIC variable-length integer; because '2^64-1' exceeds the 62-bit varint ceiling, 'ngtcp2_put_uvarintlen()' fails 'assert(n < 4611686018427387904ULL)' and the whole resolver process aborts. A remote, unauthenticated DoQ client can trigger this deterministically with a single QUIC connection by advertising 'initial_max_stream_data_bidi_local = 1' in its transport parameters and sending one DoQ query without ever reading the stream.
Published: 2026-07-22T13:10:13.235Z
Updated: 2026-07-22T14:03:20.789Z Reference links |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-55990 |
vulnerable | 2026-07-29 01:00:28.691873 |
Packet of death for a DNSCrypt misconfigured Unbound
MEDIUM (5.9)
In NLnet Labs Unbound 1.7.0 up to and including 1.25.1, when the 'dnscrypt:' clause lists more 'dnscrypt-provider-cert:' files than there are matching 'dnscrypt-secret-key:' files, Unbound fills only the matched prefix and leaves the tail slots at the '0xdb' fill that libsodium's allocator writes into every allocation. Unbound would then iterate over the number of cert files, not the actual slots, so it walks into a slot with garbage data filled with '0xdb' bytes. Any unauthenticated client that sends one UDP datagram of ≥ 68 bytes whose first 8 bytes are '0xdb' to 'dnscrypt-port' will use that garbage entry which leads to a garbage dereference killing the server. This is a silent faulty configuration that goes unnoticed until triggered with the right client query. Unbound needs to be compiled with DNSCrypt support ('--enable-dnscrypt').
Published: 2026-07-22T13:10:01.635Z
Updated: 2026-07-22T14:04:28.690Z Reference links |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-55973 |
vulnerable | 2026-07-29 01:00:28.687629 |
'dns-error-reporting: yes' leads to stack buffer overflow
HIGH (7.5)
In NLnet Labs Unbound 1.23.0 up to and including 1.25.1, when 'dns-error-reporting: yes' is set, the EDNS Report-Channel option (code 18) from the last upstream response is read and uses the option's length as the length of the agent domain. When a domain name check is performed on the agent domain, the returned lenght is not used and if the agent domain is followed by garbage, those bytes are moved onto the tail of the synthetic '_er.' report query name. That query name is later used in the iterator via a subquery to send out the DNS Error Report and when Unbound tries to walk that query name during 'find_closest_of_type()', it strips labels using the query name length rather than stopping at the embedded root, walks one byte past it, and feeds the first garbage byte to 'dname_query_hash()' as a label length writing over the stack variable 'labuf'. One ordinary upstream response from a delegated zone the attacker controls is sufficient to terminate the daemon.
Published: 2026-07-22T13:09:50.942Z
Updated: 2026-07-22T14:06:00.025Z Reference links |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-55717 |
vulnerable | 2026-07-29 01:00:28.576875 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-55708 |
vulnerable | 2026-07-29 01:00:28.576586 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-54478 |
vulnerable | 2026-07-29 01:00:27.838971 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-52863 |
vulnerable | 2026-07-29 00:57:48.984983 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-50252 |
vulnerable | 2026-07-29 00:57:47.661665 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-50251 |
vulnerable | 2026-07-29 00:57:47.661374 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-50248 |
vulnerable | 2026-07-29 00:57:47.661249 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-50243 |
vulnerable | 2026-07-29 00:57:47.660110 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-50046 |
vulnerable | 2026-07-29 00:57:47.503836 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-50045 |
vulnerable | 2026-07-29 00:57:47.503520 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-46582 |
vulnerable | 2026-07-29 00:54:59.033976 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-44690 |
vulnerable | 2026-07-29 00:52:14.546408 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-44687 |
vulnerable | 2026-07-29 00:52:14.545046 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-44621 |
vulnerable | 2026-07-29 00:52:14.491783 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-42955 |
vulnerable | 2026-07-29 00:52:12.943304 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-41637 |
vulnerable | 2026-07-29 00:49:31.394123 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-40691 |
vulnerable | 2026-07-29 00:49:30.343440 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-32665 |
vulnerable | 2026-07-29 00:40:25.274960 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-14586 |
vulnerable | 2026-07-29 00:26:17.125062 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-44608 |
vulnerable | 2026-06-08 08:05:11.217657 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-44390 |
vulnerable | 2026-06-08 08:05:11.020170 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-42960 |
vulnerable | 2026-06-08 08:03:16.994399 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-42959 |
vulnerable | 2026-06-08 08:03:16.993885 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-42944 |
vulnerable | 2026-06-08 08:03:16.983679 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-42923 |
vulnerable | 2026-06-08 08:03:16.974451 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-42534 |
vulnerable | 2026-06-08 08:03:16.477431 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-41292 |
vulnerable | 2026-06-08 08:03:15.171843 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-40622 |
vulnerable | 2026-06-08 08:01:20.895294 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-33278 |
vulnerable | 2026-06-08 07:59:09.470769 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-32792 |
vulnerable | 2026-06-08 07:57:18.154374 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2025-5994 |
vulnerable | 2026-06-08 07:37:26.225866 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2025-11411 |
vulnerable | 2026-06-08 07:02:28.720291 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2024-8508 |
vulnerable | 2026-06-08 07:00:24.811668 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2024-1931 |
vulnerable | 2026-06-08 06:27:15.059242 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2022-3204 |
vulnerable | 2026-06-08 05:47:19.712908 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2022-30699 |
vulnerable | 2026-06-08 05:43:39.001775 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2022-30698 |
vulnerable | 2026-06-08 05:43:39.000263 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2020-28935 |
vulnerable | 2026-06-08 05:23:56.618500 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2017-15105 |
vulnerable | 2026-06-08 05:08:57.920195 | db.gcve.eu details were skipped to keep the page responsive. | Imported from gcve-enriched-dumps CVE data |
Contribute
You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.