{"id":"UBUNTU-CVE-2026-87082","details":"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.","modified":"2026-09-24T02:00:37.787108482Z","published":"2026-09-22T08:16:00Z","upstream":["CVE-2026-87082"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-87082"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-87082"},{"type":"REPORT","url":"https://lists.security.metacpan.org/cve-announce/msg/43753021/"},{"type":"REPORT","url":"https://github.com/robrwo/Net-IDN-Encode/commit/0918fb4a951ed5f4494c4cf202419c2842507ea4.patch"},{"type":"REPORT","url":"https://github.com/robrwo/Net-IDN-Encode/commit/572af0183b3a6294e22c6b509268da09697cf77d.patch"},{"type":"REPORT","url":"https://github.com/robrwo/Net-IDN-Encode/commit/59dc7f2c605a897bcbfe0ac5eb2b8dbe6792348d.patch"},{"type":"REPORT","url":"https://github.com/robrwo/Net-IDN-Encode/commit/accb6df57ad107ec0c4bfb27b21551eed97c700e.patch"},{"type":"REPORT","url":"https://metacpan.org/release/PJCJ/Net-IDN-Encode-2.590-TRIAL/changes"}],"affected":[{"package":{"name":"libnet-idn-encode-perl","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/libnet-idn-encode-perl?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.202-1","2.300-1","2.300-1build1"],"ecosystem_specific":{"binaries":[{"binary_version":"2.300-1build1","binary_name":"libnet-idn-encode-perl"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-87082.json"}},{"package":{"name":"libnet-idn-encode-perl","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/libnet-idn-encode-perl?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.400-1build1"],"ecosystem_specific":{"binaries":[{"binary_version":"2.400-1build1","binary_name":"libnet-idn-encode-perl"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-87082.json"}},{"package":{"name":"libnet-idn-encode-perl","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/libnet-idn-encode-perl?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.500-1","2.500-1build1"],"ecosystem_specific":{"binaries":[{"binary_version":"2.500-1build1","binary_name":"libnet-idn-encode-perl"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-87082.json"}},{"package":{"name":"libnet-idn-encode-perl","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/libnet-idn-encode-perl?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.500-1build2","2.500-2","2.500-2build1"],"ecosystem_specific":{"binaries":[{"binary_name":"libnet-idn-encode-perl","binary_version":"2.500-2build1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-87082.json"}},{"package":{"name":"libnet-idn-encode-perl","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/libnet-idn-encode-perl?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.500-3","2.500-3build1","2.500-3build2","2.500-5"],"ecosystem_specific":{"binaries":[{"binary_version":"2.500-5","binary_name":"libnet-idn-encode-perl"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-87082.json"}},{"package":{"name":"libnet-idn-encode-perl","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/libnet-idn-encode-perl?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.500-5build1"],"ecosystem_specific":{"binaries":[{"binary_name":"libnet-idn-encode-perl","binary_version":"2.500-5build1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-87082.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"type":"Ubuntu","score":"medium"}]}