CVE-2026-64194

HighCVSS 7.5/10Last modified Oct 24, 2026

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.

Metrics

CVSS 3.1 7.5/10CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Weakness enumeration

Affected software

No affected versions have been published.

Timeline

Published
Jul 20, 2026
Last modified
Oct 24, 2026
NVD status
Deferred

Related CVEs from 2026

CVE-2026-641957.3There is an out-of-bounds write vulnerability in DASYLab due to lack of proper validation of user-supplied data. Successful exploitation reqCVE-2026-641967.3There is an out-of-bounds write vulnerability in DASYLab due to improper validation of user-supplied data, resulting in a write past the endCVE-2026-641977.3There is an out-of-bounds write vulnerability in DASYLab due to improper validation of user-supplied data, resulting in a write past the endCVE-2026-641987.3There is an out-of-bounds read vulnerability in DASYLab due to improper validation of user-supplied data.   This results in a read a few bytCVE-2026-641997.3There is an out-of-bounds read vulnerability in DASYLab due to improper validation of user-supplied data.   This results in a read outside tCVE-2026-64206.3A flaw was found in Keylime. An attacker with root access on an enrolled monitored machine, where the Keylime agent runs, can exploit a vulnCVE-2026-642007.3There is an out-of-bounds read vulnerability in DASYLab due to improper validation of user-supplied data.   This results in a read a past thCVE-2026-642017.8There is a memory corruption vulnerability recently discovered in NI LabVIEW that may result in information disclosure or arbitrary code exeCVE-2026-642027.8There is a memory corruption vulnerability recently discovered in NI LabVIEW that may result in information disclosure or arbitrary code exeCVE-2026-642037.8There is a memory corruption vulnerability recently discovered in NI LabVIEW that may result in information disclosure or arbitrary code exeCVE-2026-642047.8There is a memory corruption vulnerability recently discovered in NI LabVIEW that may result in information disclosure or arbitrary code exeCVE-2026-642055.5In the Linux kernel, the following vulnerability has been resolved: i2c: i801: fix hardware state machine corruption in error path A sever
CVE-2026-64194: High severity, CVSS 7.5 | Vulnix