Skip to content
OpenAdvisories
High · 7.5 CVE-2026-64194 EUVD-2026-46052GHSA-m3gj-74x3-vc94

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

Published Jul 20, 2026 · Updated Aug 30, 2026 · Assigned by CPANSec

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 products

VendorProductAffectedFixed
NLNETLABS Net::DNS ≤ 1.55 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 libnet-dns-perl 1.56-1 —
Debian 13 libnet-dns-perl 1.56-0+deb13u1 —
Debian 12 libnet-dns-perl 1.36-1+deb12u1 —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 libnet-dns-perl No fix yet —
Ubuntu 26.04 LTS libnet-dns-perl No fix yet —
Ubuntu 24.04 LTS libnet-dns-perl No fix yet —
Ubuntu 22.04 LTS libnet-dns-perl No fix yet —
Ubuntu 20.04 LTS libnet-dns-perl No fix yet —
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS libnet-dns-perl No fix yet —
Ubuntu 16.04 LTS libnet-dns-perl No fix yet —
Ubuntu 14.04 LTS libnet-dns-perl No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP7 perl-Net-DNS 1.14-150000.3.3.1 SUSE-SU-2026:3456-1
SLES 15 SP6 perl-Net-DNS 1.14-150000.3.3.1 SUSE-SU-2026:3456-1
SLES 15 SP5 perl-Net-DNS 1.14-150000.3.3.1 SUSE-SU-2026:3456-1
SLES 15 SP4 perl-Net-DNS 1.14-150000.3.3.1 SUSE-SU-2026:3456-1
SLES 12 SP5 perl-Net-DNS 0.73-5.3.1 SUSE-SU-2026:3431-1
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP6 perl-Net-DNS 1.14-150000.3.3.1 SUSE-SU-2026:3456-1
SLES for SAP 15 SP5 perl-Net-DNS 1.14-150000.3.3.1 SUSE-SU-2026:3456-1
SLES for SAP 15 SP4 perl-Net-DNS 1.14-150000.3.3.1 SUSE-SU-2026:3456-1
SLE HPC 15 SP5 perl-Net-DNS 1.14-150000.3.3.1 SUSE-SU-2026:3456-1
SLE HPC 15 SP4 perl-Net-DNS 1.14-150000.3.3.1 SUSE-SU-2026:3456-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed perl-Net-DNS 1.560.0-1.1 openSUSE-SU-2026:11396-1
openSUSE Leap 16.0 perl-Net-DNS 1.460.0-bp160.2.1 openSUSE-SU-2026:21859-1, openSUSE-SU-2026:21437-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 perl-Net-DNS +2 1.56-1.amzn2023.0.1 ALAS2023-2026-2046
Amazon Linux 2 perl-Net-DNS +1 0.72-6.amzn2.0.3 ALAS2-2026-3855

Advisories 7

References