Description
Net::DNS versions before 1.57 for Perl allow memory exhaustion via unbounded recursion in sig_data when re-encoding a message with a misplaced TSIG record.
sig_data signs a message by re-encoding it, and removes TSIG records only from the additional section. A TSIG decoded into the answer or authority section survives that step and is signed again, so encoding re-enters sig_data with no termination condition. Decoding does not reject such a message: a TSIG that is not the last record on the wire raises "misplaced or corrupt TSIG", but the error is caught, reported as a warning, and the record is left in the packet. RFC 8945 section 5.2 requires the message to be dropped.
The recursion is reached only when the decoded TSIG carries an empty MAC, since a MAC recovered from the wire short-circuits the signing step. It is reached only from code that re-encodes a message it decoded, such as a forwarder or a proxy. A decoded message that is never re-encoded is unaffected. Message direction does not matter: a query reaches the same path as a response.
Each cycle re-encodes the whole message, so fewer than 100 bytes on the wire exhaust available memory and terminate the process.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | Net-DNS | < 1.57 | 1.57 |
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.57-1 | — |
| Debian 13 | libnet-dns-perl | No fix yet | — |
| Debian 12 | libnet-dns-perl | No fix yet | — |
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 | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 9 | perl-Net-DNS +1 | 1.29-6.el9_8.1 | RHSA-2026:68786 |
| RHEL 8 | perl-Net-DNS | 1.15-2.el8_10 | RHSA-2026:68787 |
AlmaLinux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux 9 | perl-Net-DNS +1 | 1.29-6.el9_8.1 | ALSA-2026:68786 |
| AlmaLinux 8 | perl-Net-DNS | 1.15-2.el8_10 | ALSA-2026:68787 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 9 | perl-Net-DNS | 1.29-6.el9_8.1 | RLSA-2026:68786 |
| Rocky Linux 8 | perl-Net-DNS | 1.15-2.el8_10 | RLSA-2026:68787 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | perl-Net-DNS | 1.14-150000.3.6.1 | SUSE-SU-2026:4086-1 |
| SLES 12 SP5 | perl-Net-DNS | 0.73-5.6.1 | SUSE-SU-2026:4065-2, SUSE-SU-2026:4065-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | perl-Net-DNS | 1.570.0-1.1 | openSUSE-SU-2026:11708-1 |
| openSUSE Leap 16.0 | perl-Net-DNS | 1.570.0-bp160.1.1 | openSUSE-SU-2026:21859-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | perl-Net-DNS +2 | 1.57-1.amzn2023.0.1 | ALAS2023-2026-3094 |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | perl-Net-DNS +1 | 1.29-6.el9_8.1 | ELSA-2026-68786 |
| Oracle Linux 8 | perl-Net-DNS | 1.15-2.el8_10 | ELSA-2026-68787 |
Advisories 15
- SUSE-SU-2026:4065-2 Security update for perl-Net-DNS SUSE / openSUSE Security Updates · Nov 12, 2026
- WID-SEC-2026-3447 Red Hat Enterprise Linux (perl-Net-DNS): Schwachstelle ermöglicht Denial of Service BSI CERT-Bund (WID) · Nov 11, 2026
- ALSA-2026:68786 Important: perl-Net-DNS security update AlmaLinux Security Advisories · Oct 29, 2026
- ALSA-2026:68787 Important: perl-Net-DNS security update AlmaLinux Security Advisories · Oct 29, 2026
- ALAS2023-2026-3094 Important: perl-Net-DNS security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Sep 28, 2026
- RLSA-2026:68786 Important: perl-Net-DNS security update Rocky Linux Security Advisories · Sep 19, 2026
- RLSA-2026:68787 Important: perl-Net-DNS security update Rocky Linux Security Advisories · Sep 19, 2026
- RHSA-2026:68786 Red Hat Security Advisory: perl-Net-DNS security update Red Hat Security Advisories (RHSA) · Sep 18, 2026
- RHSA-2026:68787 Red Hat Security Advisory: perl-Net-DNS security update Red Hat Security Advisories (RHSA) · Sep 18, 2026
- openSUSE-SU-2026:21859-1 Security update for perl-Net-DNS SUSE / openSUSE Security Updates · Sep 17, 2026
- ELSA-2026-68786 Important: perl-Net-DNS security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Sep 17, 2026
- ELSA-2026-68787 Important: perl-Net-DNS security update (Oracle Linux 8) Oracle Linux Security Advisories (ELSA) · Sep 17, 2026
- SUSE-SU-2026:4086-1 Security update for perl-Net-DNS SUSE / openSUSE Security Updates · Sep 13, 2026
- SUSE-SU-2026:4065-1 Security update for perl-Net-DNS SUSE / openSUSE Security Updates · Sep 13, 2026
- openSUSE-SU-2026:11708-1 perl-Net-DNS-1.570.0-1.1 on GA media SUSE / openSUSE Security Updates · Sep 8, 2026
References
- https://metacpan.org/release/NLNETLABS/Net-DNS-1.56/source/lib/Net/DNS/RR/TSIG.pm#L245-262
- https://metacpan.org/release/NLNETLABS/Net-DNS-1.56/source/lib/Net/DNS/RR/TSIG.pm#L62-73
- https://datatracker.ietf.org/doc/html/rfc8945#section-5.2
- https://rt.cpan.org/Ticket/Display.html?id=181125 issue-tracking
- https://metacpan.org/release/NLNETLABS/Net-DNS-1.57/changes release-notes