Vulnerability · Published Jul 20, 2026 · Assigned by CPANSec

CVE-2026-64194Net::DNS versions through 1.55 for Perl allow Denial of Service via deep DNS compression pointer chains

High 7.5

In plain English

A high-severity security flaw in Net::DNS from NLNETLABS. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.7% (higher than 53% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.5High
Exploit odds (30 days)0.7%top 47.4% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

Net::DNS versions through 1.55 for Perl allow Denial of Service via deep DNS compression pointer chains. Net::DNS::DomainName::decode follows RFC 1035 compression pointers by recursing into itself with no depth limit. It is possible to construct a name which saturates the call stack (at least with larger TCP responses), leading to a potential Denial of Service. The guard `$link < $offset` prevents forward and circular chains, but still allows arbitrarily long backward chains. The per-offset cache (`$cache`) is populated at the start of each call and short-circuits only re-traverses of the same offset - the initial descent through a fresh chain still recurses at full depth. A crafted packet can chain two-byte compression pointers so that each one points two bytes earlier than the previous, producing a chain length of `offset / 2`. For the 14-bit pointer field (max offset 16383) this gives up to ~8191 recursive frames. For a TCP DNS message the limit is the 16-bit length field (~32767 frames). Perl's default C stack handles only a few thousand frames; beyond that the process receives SIGSEGV or similar, which is a denial-of-service for any application parsing untrusted DNS data. The vulnerability is triggered by `Net::DNS::Packet->new(\$wire)` i.e. any point where the library decodes a DNS message from the network.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12libnet-dns-perl1.36-1+deb12u1DEBIAN-CVE-2026-64194
Debian:13libnet-dns-perl1.56-0+deb13u1DEBIAN-CVE-2026-64194
Debian:14libnet-dns-perl1.56-1DEBIAN-CVE-2026-64194
Ubuntu:22.04:LTSlibnet-dns-perlno fix listedUBUNTU-CVE-2026-64194
Ubuntu:24.04:LTSlibnet-dns-perlno fix listedUBUNTU-CVE-2026-64194
Ubuntu:26.04:LTSlibnet-dns-perlno fix listedUBUNTU-CVE-2026-64194
Ubuntu:26.10libnet-dns-perlno fix listedUBUNTU-CVE-2026-64194

Affected products (as reported)

VendorProductVersions
NLNETLABS Net::DNS 0 – through 1.55

Weakness: CWE-674 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References