Skip to main content

Net::DNS CVE-2026-64194

| EUVDEUVD-2026-46052 HIGH
Uncontrolled Recursion (CWE-674)
2026-07-20 CPANSec GHSA-m3gj-74x3-vc94
7.5
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Position to return DNS responses to victim
  2. Delivery
    Craft packet with deep backward pointer chain
  3. Exploit
    Victim calls Net::DNS::Packet->new on wire
  4. Execution
    decode recurses per pointer to full depth
  5. Persist
    C stack exhausted, SIGSEGV
  6. Impact
    Parsing process crashes (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
Exploitation Conditions

Exploitation requires only that the target application parse an attacker-controlled DNS message with Net::DNS (any call reaching Net::DNS::Packet->new on untrusted wire data) using an affected version ≤1.55 - no authentication, no user interaction, and default configuration. The concrete prerequisite is a crafted name built from a chain of ~2-byte compression pointers each referencing two bytes earlier; the practical chain depth (and thus reliability) is limited by transport: UDP caps offsets at the 14-bit field (~8191 frames) while TCP allows the 16-bit length field (~32767 frames), so larger TCP responses are the most reliable trigger. Limiting factors: the attacker must be positioned to deliver a DNS response to the victim, and success depends on the Perl build's actual C stack size - some hardened or larger-stack builds may survive shallower chains, converting a crash into mere resource pressure.

Impact

Signals are internally consistent and point to a real but bounded issue. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/A:H, 7.5 HIGH) correctly reflects remote, unauthenticated, no-interaction exploitation against default parsing behavior, with impact limited to availability (C:N/I:N). SSVC agrees on scope: Exploitation=none (no observed attacks), Automatable=yes (a single crafted packet works repeatedly), Technical Impact=partial (crash, not code execution or data loss). EPSS of 0.20% and absence from CISA KEV indicate no active exploitation. The realistic risk is a process crash of whatever consumes untrusted DNS - meaningful for resolvers, mail filters (e.g. SpamAssassin) and monitoring daemons, but it does not yield RCE. Prioritize patching where Net::DNS parses attacker-influenced responses; deprioritize where it only handles trusted internal traffic.

Exploit ScenarioDerived

An attacker who can return DNS responses to a target - for example an authoritative server the victim queries, an on-path spoofer, or a service that resolves attacker-supplied hostnames - returns a message whose name field is a chain of thousands of backward-pointing two-byte compression pointers. When the victim application calls Net::DNS::Packet->new(\$wire) to parse it, decode recurses to full chain depth and overflows the stack, killing the process. No public exploit is identified at time of analysis, but the oss-security writeup describes the construction precisely.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 21, 2026

Denial of service in the Net::DNS Perl library (versions through 1.55) lets a remote attacker crash any application that parses untrusted DNS messages by sending a crafted response with a deeply nested chain of compression pointers. Net::DNS::DomainName::decode recurses once per pointer with no depth cap, so a chain of ~8191 (UDP/14-bit) to ~32767 (TCP/16-bit) two-byte pointers exhausts Perl's C stack and triggers SIGSEGV. EPSS is low (0.20%, 10th percentile) and there is no public exploit identified at time of analysis, though CPANSec/oss-security disclosure provides enough detail to reconstruct a trigger.

RemediationAI

Vendor-released patch: Net::DNS 1.55_01 (developer release feeding the 1.56 release candidate) - upgrade to the fixed release once 1.56 is generally available, or to 1.55_01 in the interim, per https://www.net-dns.org/blog/#release-candidate-for-netdns-1.56 and https://metacpan.org/release/NLNETLABS/Net-DNS-1.55_01/changes. Until upgraded, reduce exposure by preferring UDP over TCP for DNS where feasible (the UDP 14-bit offset caps the chain at ~8191 frames versus ~32767 over TCP, though even the UDP depth can crash some builds, so this only lowers not removes risk), and by validating or size-limiting untrusted DNS payloads before handing them to Net::DNS::Packet->new. Running the parsing component as an isolated, auto-restarting worker process limits a crash to that worker rather than the whole service; the trade-off is added operational complexity and continued availability blips under repeated attack. Track the oss-security advisory at https://seclists.org/oss-sec/2026/q3/185 and CPAN ticket https://rt.cpan.org/Ticket/Display.html?id=179946 for the final release version.

Affected VersionsENISA

Net::DNS 0 ≤1.55

Affected Packages

euvd net_dns no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Net::DNS is a pure-Perl DNS resolver/packet library. The flaw is a CWE-674 uncontrolled recursion in the RFC 1035 message-compression decoder: DomainName::decode follows each compression pointer by recursing into itself. The $link < $offset guard blocks forward and circular references, and a per-offset $cache short-circuits re-traversal of an already-seen offset, but neither bounds the initial descent through a fresh chain. An attacker builds pointers where each points exactly two bytes earlier than the last, yielding a chain of length offset/2 and forcing that many stack frames on first traversal. Because Perl's default interpreter stack tolerates only a few thousand nested C frames, the descent overflows the stack before any cache benefit applies.

Know when Net gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CPANSec) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

A single crafted DNS response parsed by default code paths gives remote unauthenticated no-interaction exploitation (AV:N/AC:L/PR:N/UI:N); impact is a crash only, so A:H with C:N/I:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 5.9 MEDIUM

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
CVSS changed
Jul 21, 2026 - 19:22 NVD
7.5 (HIGH)
CVE Published
Jul 20, 2026 - 17:55 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 20, 2026 - 17:55 cve.org
HIGH 7.5

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

A denial-of-service vulnerability in Net::DNS Perl library (versions through 1.55) can crash any dependent application when processing untrusted DNS data, exposing organizations using this library to service outages. Current attack likelihood is low, but the absence of vendor patches requires immediate mitigation to protect service availability.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: Enforce DNS message input validation with strict limits on compression pointer depth; implement query rate limiting on DNS traffic; restrict DNS responses to trusted nameserver sources only; add application-level error monitoring for segmentation faults and stack traces; isolate affected systems via network segmentation from untrusted external DNS sources.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
High
standard Perl DNS library, used by SpamAssassin and much Perl mail/network tooling
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Net

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2026-111497 CRITICAL POC
9.2 Oct 21

Remote code execution is possible in Node.js releases that bundle a vulnerable Brotli decoder: a malformed brotli-compre

CVE-2023-38180 HIGH
7.5 Aug 08

.NET and Visual Studio Denial of Service Vulnerability. Rated high severity (CVSS 7.5), this vulnerability is remotely e

CVE-2026-69439 HIGH POC
8.8 Sep 08

Heap-based buffer overflow (CWE-122) in Microsoft .NET and Visual Studio allows a network-based unauthenticated attacker

CVE-2026-71328 HIGH POC
8.8 Sep 08

Heap-based buffer overflow in Microsoft Visual Studio 2022 and 2026 enables network-delivered remote code execution when

CVE-2026-62886 HIGH POC
7.8 Aug 11

Privilege escalation in Microsoft .NET runtimes (8.0, 9.0, and 10.0) and Microsoft Visual Studio 2022 and 2026 results f

CVE-2026-62871 HIGH POC
7.8 Aug 11

Heap-based buffer overflow (CWE-122) in Microsoft .NET enables local code execution across all actively supported .NET r

CVE-2026-70354 HIGH POC
7.8 Aug 11

Local code execution via out-of-bounds write in Microsoft .NET allows an unauthenticated local attacker to achieve full

CVE-2026-62909 HIGH POC
7.8 Aug 11

Local privilege escalation in Microsoft .NET (versions 8.0, 9.0, and 10.0) and Microsoft Visual Studio 2022/2026 allows

CVE-2026-62901 HIGH POC
7.5 Aug 11

Denial-of-service in Microsoft .NET runtimes and Visual Studio allows unauthenticated remote attackers to crash or hang

CVE-2026-62897 HIGH POC
7.0 Aug 11

Integer overflow in Microsoft .NET Framework and modern .NET runtimes enables local code execution with full process com

CVE-2026-62898 HIGH POC
7.5 Aug 11

Use-after-free memory corruption in Microsoft's QUIC protocol implementation (MsQuic) exposes sensitive heap memory to u

Vendor StatusVendor

SUSE

Severity: Important
Product Status
openSUSE Leap 16.0 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS Affected
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS Affected
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS Affected
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy