Memory leak in Net-IDN-Encode
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- High · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-401.
Summary
Net::IDN::Punycode versions from 2.302 before 2.590 for Perl leak the output buffer on every rejected label in decode_punycode. The XS backend allocates the scalar it returns before it validates the input, sizing the buffer at twice the input length. The scalar is released only on the success path, so each of the three croaks that reject a label leaves the scalar and its buffer allocated. Nothing bounds the label length in the to-Unicode direction, since the 63-byte DNS limit is checked only when converting to ASCII. Only the XS backend is affected. A sender who supplies invalid labels grows the process by twice the label length per rejected call, with no successful call needed.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | Net-IDN-Encode | 2.302 to before 2.590 | 2.590 | Patch available | CNA |
- Net-IDN-Encode Vendor— Affected 2.302 to before 2.590 Fixed in 2.590 Patch available CNA
Remediation
- Fix · CNA Net-IDN-Encode Fixed in 2.590
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2026-87078
- 2026-10-03 Alias added: GHSA-xcgq-9mhw-ww57
- 2026-10-09 Affected versions changed · Red Hat
- 2026-10-09 CVSS score added · Red Hat
References
Sources
- CVE-2026-87078 · CVE Program
- CVE-2026-87078 · NVD
- FIRST EPSS
- GHSA-xcgq-9mhw-ww57 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-87078 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences