Katalog CVE

CVE-2026-110756

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Text::CSV_XS w wersjach przed 1.65 dla Perla gubi koniec rekordu i jego zakończenie linii, gdy pole oznaczone jako UTF-8 poprzedza nieprawidłowe bajty UTF-8 w print. Gdy rekord zawiera pole oznaczone jako UTF-8, print wstrzymuje końcowe bajty, które nie są prawidłowym UTF-8, przy każdym opróżnieniu bufora, aby znak podzielony między dwa opróżnienia mógł zostać ukończony. Nic nie zapisuje wstrzymanych bajtów po ostatnim opróżnieniu rekordu. Rekord, którego ostatnie pole kończy się takim bajtem, traci go, wszelkie zamykające cudzysłowy i zakończenie linii, podczas gdy print nadal zwraca prawdę. combine nie jest dotknięty. Następny rekord jest zapisywany w tej samej linii lub, gdy ostatnie pole było cytowane, brakujący zamykający cudzysłów powoduje, że czytnik traktuje każdy następny rekord jako część tego pola.

Ocena ryzyka

Może dojść do uszkodzenia danych wyjściowych CSV, utraty zakończeń linii i nieprawidłowego łączenia rekordów, co prowadzi do błędów w przetwarzaniu po stronie odbiorcy. Może to naruszyć integralność danych i spowodować nieprawidłowe działanie aplikacji.

Rekomendacja

Zaktualizuj Text::CSV_XS do wersji 1.65 lub nowszej, aby naprawić błąd gubienia końcowych bajtów. Do czasu aktualizacji unikaj mieszania pól oznaczonych jako UTF-8 z nieprawidłowymi bajtami UTF-8 w print.

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 drop the end of a record and its line ending when a UTF-8 flagged field precedes invalid UTF-8 bytes in print. When a record contains a UTF-8 flagged field, print holds back trailing bytes that are not valid UTF-8 at each buffer flush, so that a character split across two flushes can be completed. Nothing writes the held-back bytes after the record's final flush. A record whose last field ends in such a byte loses it, any closing quote and the line ending, while print still returns true. combine is not affected. The next record is written onto the same line, or, when the last field was quoted, the missing closing quote makes a reader take every following record as part of that field.

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