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
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| 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.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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
- openSUSE-SU-2026:21859-1 Security update for perl-Net-DNS SUSE / openSUSE Security Updates · Sep 17, 2026
- ALAS2-2026-3855 Important: perl-Net-DNS security update (Amazon Linux 2) Amazon Linux Security Center (ALAS) · Aug 17, 2026
- ALAS2023-2026-2046 Important: perl-Net-DNS security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Aug 17, 2026
- SUSE-SU-2026:3456-1 Security update for perl-Net-DNS SUSE / openSUSE Security Updates · Aug 4, 2026
- SUSE-SU-2026:3431-1 Security update for perl-Net-DNS SUSE / openSUSE Security Updates · Jul 31, 2026
- openSUSE-SU-2026:11396-1 perl-Net-DNS-1.560.0-1.1 on GA media SUSE / openSUSE Security Updates · Jul 29, 2026
- openSUSE-SU-2026:21437-1 Security update for perl-Net-DNS SUSE / openSUSE Security Updates · Jul 24, 2026