CVE catalog

CVE-2026-87079

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

[CVE catalog]

Severity
High · CVSS 7.5CVSS: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.38% · Oct 25, 2026

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.

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debianlibnet-idn-encode-perlsid2.502-1vulnerable
Debianlibnet-idn-encode-perlforky2.502-1vulnerable
Debianlibnet-idn-encode-perltrixie2.500-5vulnerable
Debianlibnet-idn-encode-perlbookworm2.500-3vulnerable

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debianlibnet-idn-encode-perlsourcesid(unfixed)not yet assignedNot reported[1148729]
Debianlibnet-idn-encode-perlsourceforky(unfixed)not yet assignedNot reported[1148729]
Debianlibnet-idn-encode-perlsourcetrixie(unfixed)not yet assignedNot reported[1148729]
Debianlibnet-idn-encode-perlsourcebookworm(unfixed)not yet assignedNot reported[1148729]

[Debian bug #1148729]

OpenFactory catalog packages

[Debian 12 (Bookworm)]

  • Source package: [libnet-idn-encode-perl]

    Details (2)
    • 2.500-3+b1 · amd64 · bookworm

      Affected

      nvd · libnet-idn-encode-perl · debian · bookworm; nvd · libnet-idn-encode-perl · debian · 12

    • 2.500-3+b1 · arm64 · bookworm

      Affected

      nvd · libnet-idn-encode-perl · debian · bookworm; nvd · libnet-idn-encode-perl · debian · 12

[Debian 13 (Trixie)]

  • Source package: [libnet-idn-encode-perl]

    Details (2)
    • 2.500-5+b1 · amd64 · trixie

      Affected

      nvd · libnet-idn-encode-perl · debian · 13

    • 2.500-5+b1 · arm64 · trixie

      Affected

      nvd · libnet-idn-encode-perl · debian · 13

Observed:

References