{"id":27406,"date":"2026-09-22T16:30:53","date_gmt":"2026-09-22T08:30:53","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-87079"},"modified":"2026-09-22T16:30:53","modified_gmt":"2026-09-22T08:30:53","slug":"cve-2026-87079","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-87079","title":{"rendered":"CVE-2026-87079 &#8211; Net::IDN::Punycode versions before 2.590 for Perl allow CPU exhaustion via quadratic inser"},"content":{"rendered":"<p>Net::IDN::Punycode versions before 2.590 for Perl allow CPU exhaustion via quadratic insertion cost when decoding a long label in decode_punycode.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Net::IDN::Punycode versions before 2.590 for Perl allow CPU exhaustion via quadratic insertion cost when decoding a long label in decode_punycode.<\/p>\n<p>The XS backend inserts each decoded code point into <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-27406","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/27406","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=27406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=27406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=27406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}