Net::IDN::Punycode versions before 2.590 for Perl allow CPU exhaustion via quadratic…
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-407.
Summary
Net::IDN::Punycode versions before 2.590 for Perl allow CPU exhaustion via quadratic insertion cost when decoding a long label in decode_punycode. The XS backend inserts each decoded code point into a UTF-8 buffer and finds the insertion point by scanning that buffer from the start, one character at a time. The scan runs once per code point over the output built so far, so the cost is quadratic in the label length. The pure-Perl backend downgrades its input to bytes so that substr can index it directly, but takes its working copy before the downgrade, so when the input carries the UTF-8 flag every substr on the copy scans from the start, with the same quadratic cost. Nothing bounds the label length in the to-Unicode direction. The 63-byte DNS limit is checked only when converting to ASCII, so domain_to_unicode and uts46_to_unicode pass an attacker-supplied label of any length to the decoder.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- 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 | before 2.590 | 2.590 | Patch available | CNA |
- Net-IDN-Encode Vendor— Affected 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-87079
- 2026-10-03 Alias added: GHSA-vx57-287r-4h84
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
References
Sources
- CVE-2026-87079 · CVE Program
- CVE-2026-87079 · NVD
- FIRST EPSS
- GHSA-vx57-287r-4h84 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-87079 · 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