Katalog CVE

CVE-2026-110753

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Wersje Text::CSV_XS od 1.46 przed 1.65 dla Perla mają use-after-free zmiennych bind_columns, gdy skip_empty_rows pomija pustą linię w getline. Przy bind_columns parser zapisuje każde pole do własnego skalara wywołującego bez pobierania referencji; gdy skip_empty_rows pomija pustą ostatnią linię, parser zwalnia bieżący skalar pola bez sprawdzenia czy jest powiązany, usuwając jedną referencję ze zmiennej aplikacji. Tryb "eof" robi to samo przy każdej pustej linii. Zmienna jest następnie zwalniana, gdy aplikacja wciąż ją referencjonuje, więc późniejszy kod używa zwolnionej pamięci i może spowodować awarię procesu.

Ocena ryzyka

Atakujący może dostarczyć dane CSV z pustymi liniami, powodując użycie zwolnionej pamięci w aplikacji, co może prowadzić do awarii procesu lub potencjalnie do wykonania dowolnego kodu. Stanowi to poważne zagrożenie dla stabilności i bezpieczeństwa usługi.

Rekomendacja

Zaktualizuj bibliotekę Text::CSV_XS do wersji 1.65 lub nowszej. Do czasu aktualizacji unikaj używania bind_columns razem z skip_empty_rows lub trybem "eof" przy przetwarzaniu niezaufanych danych.

Inne podatności w Text::CSV_XS

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

Text::CSV_XS versions from 1.46 before 1.65 for Perl have a use-after-free of bind_columns variables when skip_empty_rows skips an empty line in getline. With bind_columns, the parser writes each field into the caller's own scalar without taking a reference to it. When skip_empty_rows skips an empty last line, the parser frees the current field scalar without checking whether it is bound, dropping one reference from the application's variable. The "eof" mode does the same on any empty line. The variable is then freed while the application still references it, so later code uses freed memory and can crash the process.

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