
CVE catalog
CVE-2026-87082
Net::IDN::Punycode versions before 2.590 for Perl hang, crash or return a wrong label via unvalidated malformed UTF-8 in encode_punycode. Neither backend checks that its input is well-formed UTF-8, s
- Severity
- High · CVSS 7.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Published
- Updated
- Source
- [NVD] · [CVE record]
- EPSS
- 0.42% · Oct 25, 2026
Net::IDN::Punycode versions before 2.590 for Perl hang, crash or return a wrong label via unvalidated malformed UTF-8 in encode_punycode. Neither backend checks that its input is well-formed UTF-8, so a string with the UTF-8 flag set over malformed bytes, as the :utf8 PerlIO layer produces from any malformed input, reaches the encoder unchecked. On perl 5.32 and later the XS backend reports a malformed sequence with a length of `(STRLEN)-1`, so the scan steps back one byte instead of forward and never ends. On earlier perls the XS returns a valid label for a different name. The pure-Perl backend runs a regex over the flagged string. Depending on the bytes, it aborts with SIGBUS on perl 5.28 and later, dies with a panic, or returns a wrong label. The documented conversion functions match the label against Unicode properties first and that match dies on such a string, so only a direct call to encode_punycode reaches the defect. The decoder is not affected. A direct caller encoding attacker-supplied bytes hangs, crashes or gets a label for a name the input never held.
Vulnerable and fixed packages
Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.
| Distribution | Package | Release | Version | Status |
|---|---|---|---|---|
| Debian | libnet-idn-encode-perl | sid | 2.502-1 | vulnerable |
| Debian | libnet-idn-encode-perl | forky | 2.502-1 | vulnerable |
| Debian | libnet-idn-encode-perl | trixie | 2.500-5 | vulnerable |
| Debian | libnet-idn-encode-perl | bookworm | 2.500-3 | vulnerable |
Fixed-version evidence
| Distribution | Package | Type | Release | Fixed version | Urgency | Origin | Bugs |
|---|---|---|---|---|---|---|---|
| Debian | libnet-idn-encode-perl | source | sid | (unfixed) | not yet assigned | Not reported | [1148729] |
| Debian | libnet-idn-encode-perl | source | forky | (unfixed) | not yet assigned | Not reported | [1148729] |
| Debian | libnet-idn-encode-perl | source | trixie | (unfixed) | not yet assigned | Not reported | [1148729] |
| Debian | libnet-idn-encode-perl | source | bookworm | (unfixed) | not yet assigned | Not reported | [1148729] |
OpenFactory catalog packages
[Debian 12 (Bookworm)]
- [libnet-idn-encode-perl]Affected
Source package: [libnet-idn-encode-perl]
Details (2)
2.500-3+b1· amd64 · bookwormAffected
nvd · libnet-idn-encode-perl · debian · bookworm; nvd · libnet-idn-encode-perl · debian · 12
2.500-3+b1· arm64 · bookwormAffected
nvd · libnet-idn-encode-perl · debian · bookworm; nvd · libnet-idn-encode-perl · debian · 12
[Debian 13 (Trixie)]
- [libnet-idn-encode-perl]Affected
Source package: [libnet-idn-encode-perl]
Details (2)
2.500-5+b1· amd64 · trixieAffected
nvd · libnet-idn-encode-perl · debian · 13
2.500-5+b1· arm64 · trixieAffected
nvd · libnet-idn-encode-perl · debian · 13
Observed: