High severity · published Jul 22, 2026
CVE-2026-40691
Packet of death for DNSCrypt over TCP
7.5
CVSS
0.3%
EPSS
No
On KEV
Description
In Unbound 1.9.0 up to and including 1.25.1, when a DNSCrypt query is received over TCP, the routine that encrypts the reply in place fails to bound the reply length against the destination buffer size. The size clamp that protects the UDP path is not applied on the TCP path, so a reply larger than 65504 bytes is shifted forward by 48 bytes inside a buffer of capacity equal to 'msg-buffer-size', writing past the end of the heap allocation. A single malicious encrypted query crashes the resolver and lead to denial of service. This vulnerability needs Unbound to be compiled with DNSCrypt support ('--enable-dnscrypt') and the 'dnscrypt:' clause to be configured and enabled for the listening interfaces.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 22% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
UN
Unbound · NLnet Labs
1.9.0 before 1.25.2 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-40691
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-40691
Vendor Advisory
https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-40691.txt
More from Unbound
10.0
CVE-2026-42960
Possible cache poisoning via promiscuous records for the authority section
9.8
CVE-2026-82717
CNAME synthesis could lead to heap corruption
9.8
CVE-2026-81642
Heap buffer overflow and possible Remote Code Execution when digesting DNSKEY
9.8
CVE-2026-33278
Possible arbitrary code execution during DNSSEC validation
9.3
CVE-2026-50252
Possible cache poisoning attack by mapping source port population per thread
