CVE-2026-87079 in Net::IDN::Punycodeinformazioni

Riassunto

di VulDB • 22/09/2026

Le versioni di Net::IDN::Punycode precedenti alla 2.590 per Perl consentono un'esaurimento delle risorse della CPU (CPU exhaustion) a causa del costo quadratico dell'inserimento durante la decodifica di una label lunga in decode_punycode.

Il backend XS inserisce ogni code point decodificato in un buffer UTF-8 e individua il punto di inserimento scansionando tale buffer dall'inizio, carattere per carattere. La scansione viene eseguita una volta per ciascun code point sull'output costruito finora, quindi il costo è quadratico rispetto alla lunghezza della label. Il backend puramente Perl (pure-Perl) converte l'input in byte affinché substr possa indicizzarlo direttamente, ma effettua la copia di lavoro prima della conversione; pertanto, quando l'input presenta il flag UTF-8, ogni chiamata a substr sulla copia scansiona dall'inizio, con lo stesso costo quadratico.

Non esiste alcun vincolo alla lunghezza della label nella direzione verso Unicode (to-Unicode). Il limite DNS di 63 byte viene controllato solo durante la conversione in ASCII; pertanto, domain_to_unicode e uts46_to_unicode passano al decoder una label fornita dall'attaccante di qualsiasi lunghezza.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

CPANSec

Prenotare

08/09/2026

Divulgazione

22/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!