Katalog CVE

CVE-2026-110757

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Text::CSV_XS w wersjach przed 1.65 dla Perla pozwala na podział rekordu poprzez zapisywanie łańcuchów używanych jako liczby bez cudzysłowów w combine. combine i print nie sprawdzają, czy pole wymaga cudzysłowów, gdy jego wartość ma ustawioną flagę integer lub numeric Perla. Perl ustawia te flagi na łańcuchu użytym w operacji numerycznej, gdy parsuje się jako liczba, co pozwala na wiodące i końcowe białe znaki. Przy ustawionej opcji binary, jak domyślnie w csv, "12\n" przechodzi sprawdzenie takie jak $qty > 0 i jest zapisywane bez cudzysłowów wraz z nową linią. Wartość zweryfikowana jako liczba może zakończyć rekord wcześniej i zamienić pola po niej w osobny wiersz.

Ocena ryzyka

Może dojść do wstrzyknięcia nowych wierszy do pliku CSV, co prowadzi do uszkodzenia danych lub wykonania kodu po stronie odbiorcy. Może to naruszyć integralność danych i bezpieczeństwo przetwarzania.

Rekomendacja

Zaktualizuj Text::CSV_XS do wersji 1.65 lub nowszej, aby naprawić błąd braku cudzysłowów dla wartości numerycznych. Do czasu aktualizacji unikaj przekazywania wartości numerycznych z białymi znakami do combine.

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 record splitting by writing strings used as numbers without quotes in combine. combine and print do not check whether a field needs quotes when its value has Perl's integer or numeric flag set. Perl sets these flags on a string used in a numeric operation when it parses as a number, which allows leading and trailing whitespace. With binary set, as csv does by default, "12\n" passes a check such as $qty > 0 and is then written unquoted with its newline. A value validated as a number can end the record early and turn the fields after it into a separate row.

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