Katalog CVE

CVE-2026-110755

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Wersje Text::CSV_XS przed 1.65 dla Perla pozwalają na kwadratowe zużycie CPU poprzez kopiowanie nieprzetworzonej reszty danych przy każdym rekordzie wejścia z zakończeniami linii tylko CR w funkcji getline. Gdy eol nie jest ustawione, getline czyta z domyślnym separatorem linii Perla, więc wejście z zakończeniami CR trafia jako jeden fragment, a po każdym rekordzie parser kopiuje całą nieprzetworzoną resztę do nowego bufora. Czytnik z domyślnymi opcjami otrzymujący CSV z klasycznymi zakończeniami linii Mac zużywa sekundy CPU na megabajt danych.

Ocena ryzyka

Atakujący może dostarczyć odpowiednio przygotowany plik CSV z zakończeniami linii CR, powodując nadmierne zużycie CPU i spowolnienie lub zablokowanie usługi przetwarzającej dane. Może to prowadzić do odmowy usługi (DoS) w aplikacjach przetwarzających niezaufane dane CSV.

Rekomendacja

Zaktualizuj bibliotekę Text::CSV_XS do wersji 1.65 lub nowszej. Jeśli aktualizacja nie jest możliwa, ustaw jawnie opcję eol lub ogranicz rozmiar i źródło przetwarzanych danych CSV.

Inne podatności w Text::CSV_XS

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Text::CSV_XS versions before 1.65 for Perl allow quadratic CPU use by copying the unparsed remainder per record of CR-only input in getline. With eol unset, the default, getline reads with Perl's default line separator, so input with CR-only line endings arrives as one chunk. After each record the parser copies the whole unparsed remainder into a new buffer, which the next call parses and copies again, so the work grows with the square of the input size. A reader with default options that is sent CSV with classic Mac line endings spends seconds of CPU time on a megabyte of input.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS