
PEACH
Un cadre d’isolation des locataires
CVE-2026-87078 is a memory leak (missing release of memory after effective lifetime) vulnerability in the Net::IDN::Punycode module (part of the Net-IDN-Encode Perl distribution), affecting versions 2.302 through 2.589. The flaw exists exclusively in the XS (C-based) backend of the decode_punycode function, where the output scalar buffer is allocated before input validation and is never freed on rejection paths. It was published on September 22, 2026, with a CVSS v3.1 base score of 9.1 (Critical) (GitHub Advisory, Feedly).
The root cause is CWE-401 (Missing Release of Memory after Effective Lifetime). In the XS backend, both encode_punycode and decode_punycode allocate a return scalar (RETVAL) sized at twice the input length before performing any input validation. When the input is rejected — via one of several croak calls for conditions such as non-base characters, incomplete encoded code points, invalid digits, or exceeded punycode limits — the scalar and its buffer are left allocated because the typemap only mortalizes (frees) the scalar on the success path. Additionally, no upper bound is enforced on label length in the to-Unicode direction, since the 63-byte DNS label limit is only checked during ASCII conversion, allowing arbitrarily large invalid labels to be processed. The fix introduced a croak_free helper (commit 92572f7) and subsequently a mortal-at-creation approach (commit edad63e) to ensure the scalar is always freed on any croak path (Patch 1, Patch 2).
An unauthenticated remote attacker can cause unbounded memory growth in any Perl process that uses the XS backend of Net::IDN::Punycode to decode attacker-supplied labels. Each rejected call leaks memory equal to twice the input label length, with no successful call required; empirical testing showed 25,000 rejected decodes of a 2,000-byte label leaked approximately 100 MiB. Sustained exploitation can exhaust available memory, crashing the application or severely degrading performance, resulting in a denial of service. Confidentiality impact is also rated High in the CVSS score, potentially reflecting exposure of heap contents in certain scenarios (GitHub Advisory, Feedly).
No public proof-of-concept exploit code is known, and there is no evidence of in-the-wild exploitation at this time (Feedly). The vulnerability is network-exploitable with no authentication or user interaction required, and NVD's SSVC assessment marks it as automatable. The EPSS score is 0.0, and it is not currently listed in the CISA Known Exploited Vulnerabilities catalog (GitHub Advisory).
Net::IDN::Encode or Net::IDN::Punycode with the XS backend (versions 2.302–2.589) and accept externally supplied domain names or punycode labels for decoding (e.g., internationalized domain name processing services, email validators, DNS utilities).0x80) or an invalid digit sequence — that will trigger a croak in decode_punycode without being accepted.Net::IDN::Punycode such as non-base character in input for decode_punycode, invalid digit in input for decode_punycode, or incomplete encoded code point in decode_punycode./var/log/syslog, dmesg) terminating the Perl application process; sudden application crashes correlated with high-volume punycode decode requests.Upgrade Net-IDN-Encode to version 2.590 or later, which resolves the memory leak by ensuring the output scalar is always freed on all rejection paths in the XS backend (MetaCPAN, GitHub Advisory). If immediate patching is not possible, implement input validation to enforce a maximum label length (e.g., 63 bytes per DNS label) before passing input to decode_punycode, or restrict network access to services that invoke punycode decoding. Switching to the pure-Perl (PP) backend is also a viable temporary workaround, as only the XS backend is affected.
Disponibilité des correctifs sur les principales distributions Linux et leurs versions.
bookworm
libnet-idn-encode-perl
sid
libnet-idn-encode-perl
trixie
libnet-idn-encode-perl
bionic (esm-apps)
libnet-idn-encode-perl
devel
libnet-idn-encode-perl
focal (esm-apps)
libnet-idn-encode-perl
jammy
libnet-idn-encode-perl
jammy (esm-apps)
libnet-idn-encode-perl
noble
libnet-idn-encode-perl
noble (esm-apps)
libnet-idn-encode-perl
resolute
libnet-idn-encode-perl
Source: Ce rapport a été généré à l’aide de l’IA
Évaluation gratuite des vulnérabilités
Évaluez vos pratiques de sécurité cloud dans 9 domaines de sécurité pour évaluer votre niveau de risque et identifier les failles dans vos défenses.
Obtenez une démo personnalisée
"La meilleure expérience utilisateur que j’ai jamais vue, offre une visibilité totale sur les workloads cloud."
"Wiz fournit une interface unique pour voir ce qui se passe dans nos environnements cloud."
"Nous savons que si Wiz identifie quelque chose comme critique, c’est qu’il l’est réellement."