Skip to main content
VulnerabilityPublished

CVE-2026-87078: Net-IDN-Encode (Perl module) · Memory Leak

Affects Net-IDN-Encode (Perl module)Source CVE Database V5

0
Compare

Not known to be exploited · CVSS 9.1 Critical : upgrade to 2.590 as a priority.

Data as of 5 Nov 2026, 00:01 UTC

CVSS 3.1 base score
9.1Critical
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.3% chance of exploitation in 30 days – higher than 33% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 2.590
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 22 Sep 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.

What to do

Upgrade Net-IDN-Encode (Perl module) to 2.590.

Affected software

ProductAffectedFixed in
CPANNet-IDN-Encodepkg:cpan/Net-IDN-EncodeOther threatsAffected
  • >=2.302 <2.590
Fixed in
  • 2.590

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

If you cannot patch yet, avoid processing untrusted or malformed labels with the vulnerable versions of Net::IDN::Punycode. Consider using alternative implementations or applying input validation to limit label lengths before decoding.

Description

CVE-2026-87078 is a critical memory leak vulnerability in Net::IDN::Punycode Perl module versions from 2.302 up to but not including 2.590. The issue occurs in the XS backend during the decode_punycode function, where output buffers are allocated before input validation and only released on successful decoding. Invalid labels cause the buffers to remain allocated, leading to unbounded memory growth proportional to twice the label length per rejected call. This affects only the XS backend implementation.

References

Community reviews

Loading reviews…