{"id":27409,"date":"2026-09-22T16:30:53","date_gmt":"2026-09-22T08:30:53","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-87082"},"modified":"2026-09-22T16:30:53","modified_gmt":"2026-09-22T08:30:53","slug":"cve-2026-87082","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-87082","title":{"rendered":"CVE-2026-87082 &#8211; Net::IDN::Punycode versions before 2.590 for Perl hang, crash or return a wrong label via"},"content":{"rendered":"<p>Net::IDN::Punycode versions before 2.590 for Perl hang, crash or return a wrong label via unvalidated malformed UTF-8 in encode_punycode.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>A direct caller encoding attacker-supplied bytes hangs, crashes or gets a label for a name the input never held.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Net::IDN::Punycode versions before 2.590 for Perl hang, crash or return a wrong label via unvalidated malformed UTF-8 in encode_punycode.<\/p>\n<p>Neither backend checks that its input is well-formed UTF-8, s<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-27409","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/27409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=27409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=27409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=27409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}