CVE-2026-74766
NieznaneStreszczenie
W bibliotece Net::IDN::Punycode dla Perla w wersjach od 2.301 do 2.590 backend XS zawiera błąd use-after-free podczas dekodowania punktu kodowego, który powoduje realokację bufora wyjściowego. Dekodowanie złośliwej etykiety punycode prowadzi do odczytu i zapisu zwolnionej pamięci.
Ocena ryzyka
Atakujący może dostarczyć specjalnie spreparowaną etykietę punycode, powodując uszkodzenie pamięci, awarię aplikacji lub potencjalnie wykonanie dowolnego kodu.
Rekomendacja
Zaktualizuj Net::IDN::Punycode do wersji 2.590 lub nowszej. Unikaj dekodowania niezaufanych etykiet punycode do czasu aktualizacji.
Inne podatności w Net::IDN::Punycode
Zobacz wszystkie- CVE-2026-87082Nieznane
W bibliotece Net::IDN::Punycode dla Perla w wersjach przed 2.590 funkcja encode_punycode nie sprawdza poprawności wejścia UTF-8. Sformatowany łańcuch z niepoprawnymi bajtami może zawiesić proces, spowodować awarię lub zwrócić etykietę dla innej nazwy. Problem dotyczy tylko bezpośredniego wywołania encode_punycode, dekoder nie jest podatny.
- CVE-2026-87079Nieznane
W bibliotece Net::IDN::Punycode dla Perla w wersjach przed 2.590 dekodowanie długich etykiet w decode_punycode powoduje kwadratowy wzrost kosztu wstawiania znaków. Brak limitu długości etykiety w kierunku konwersji na Unicode pozwala na atak wyczerpania CPU.
- CVE-2026-87078Nieznane
W bibliotece Net::IDN::Punycode dla Perla w wersjach od 2.302 do 2.590 backend XS wycieka bufor wyjściowy przy każdym odrzuconym dekodowaniu etykiety. Brak limitu długości etykiety w kierunku konwersji na Unicode pozwala na powiększanie zużycia pamięci.
- CVE-2026-74765Nieznane
W bibliotece Net::IDN::Punycode dla Perla w wersjach przed 2.590 backend XS zawiera przepełnienie liczbowe akumulatora delta w encode_punycode. Duże punkty kodowe mogą spowodować odczyt poza zakresem tablicy cyfr, prowadząc do uszkodzenia pamięci lub awarii.
- CVE-2016-15059Nieznane
W bibliotece Net::IDN::Punycode dla Perla w wersjach przed 2.301 backend XS zawiera przepełnienie bufora sterty w encode_punycode. Niektóre zapisy cyfr i terminatora NUL nie sprawdzają dostępnego miejsca, co prowadzi do zapisu poza bufor.
Oryginalny opis (angielski, źródło NVD)
Net::IDN::Punycode versions from 2.301 before 2.590 for Perl allow a heap use-after-free via a decoded code point that reallocates the output buffer in decode_punycode. The XS backend inserts each decoded code point into the string buffer of the scalar it returns. decode_punycode computes the insertion pointer first and only then grows the buffer when the code point does not fit. The growth reallocates the buffer and updates every pointer except the insertion pointer, so the move that follows and the write of the code point go through a freed pointer. The buffer starts at twice the label length, and a code point above U+FFFF takes four bytes in the output, so a label of such code points outgrows it and forces the reallocation. Version 2.301, the fix for CVE-2016-15059, introduced the defect. Only the XS backend is affected. Decoding an attacker-supplied punycode label reads and writes freed heap memory.

