Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

suse-cvrf логотип

SUSE-SU-2026:5120-1

Опубликовано: 05 нояб. 2026
Источник: suse-cvrf

Описание

Security update for perl-Text-CSV_XS

This update for perl-Text-CSV_XS fixes the following issues:

  • CVE-2026-110752: unclamped RFC 7111 selector range pre-allocation in fragment() can cause memory exhaustion via large index ranges (bsc#1286138).
  • CVE-2026-110754: unfreed field array memory leak on getline() syntax errors can lead to process memory exhaustion via malformed CSV input (bsc#1286188).
  • CVE-2026-110755: quadratic buffer copying overhead during CR-only line parsing in getline() can cause CPU exhaustion and denial of service (bsc#1286198).
  • CVE-2026-110756: invalid UTF-8 bytes during buffer flushes in print() can cause silent field truncation (bsc#1286130).
  • CVE-2026-110757: unquoted writing of numeric-flagged strings containing newlines in combine() and print() can cause record splitting and row injection (bsc#1286191).
  • CVE-2026-110758: missing buffer start boundary check in strip_trail_whitespace under allow_whitespace can cause heap out-of-bounds read and memory corruption (bsc#1286137).
  • CVE-2026-110759: improper end-of-file marker handling after a lone CR can cause Text::CSV_XS to inject an unexpected 0xFF byte (bsc#1286128).

Список пакетов

SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS
perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS
perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS
perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS
perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise Module for Development Tools 15 SP7
perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise Server 15 SP4-LTSS
perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise Server 15 SP5-LTSS
perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise Server 15 SP6-LTSS
perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise Server for SAP Applications 15 SP4
perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise Server for SAP Applications 15 SP5
perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise Server for SAP Applications 15 SP6
perl-Text-CSV_XS-1.34-150000.3.6.1

Описание

Text::CSV_XS versions before 1.65 for Perl allow memory exhaustion by allocating one entry per index of an RFC 7111 selector in fragment. fragment expands a row= or col= selector into an array with one element per selected index before it reads any data, and it does not clamp an explicit end column in a cell= selector to the row. Only the syntax and order of the ranges are checked, so row=1-400000000 on a two-line file allocates 400 million elements. An application that passes a request-supplied fragment to fragment or csv can be made to exhaust memory, which ends the process with an Out of memory error that eval cannot catch.


Затронутые продукты
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1

Ссылки

Описание

Text::CSV_XS versions before 1.65 for Perl leak the parsed fields of a record that fails to parse in getline. getline collects the fields of a record into a new array and returns a reference to it only when the parse succeeds. When the record has a syntax error, getline returns undef and never frees the array or the fields parsed before the error. A long-running process parsing untrusted CSV retains every malformed record it is sent, so repeated malformed input exhausts its memory.


Затронутые продукты
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1

Ссылки

Описание

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.


Затронутые продукты
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1

Ссылки

Описание

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.


Затронутые продукты
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1

Ссылки

Описание

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.


Затронутые продукты
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1

Ссылки

Описание

Text::CSV_XS versions before 1.65 for Perl read before the start of an all-blank field under allow_whitespace in strip_trail_whitespace. Under allow_whitespace, strip_trail_whitespace removes trailing spaces and tabs from each unquoted field without stopping at the start of the field. For a field of only blanks it reads the byte before the field's heap buffer. If that byte is also a space or tab, it may be zeroed and the walk continue backwards, depending on what the allocator placed there. Leading blanks are normally skipped before a field is stored, but an all-blank field still arrives after a leading escape_char that differs from quote_char, or as a quoted field in getline when its line ends in two CRs.


Затронутые продукты
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1

Ссылки

Описание

Text::CSV_XS versions before 1.65 for Perl return a 0xFF byte that is not in the input for an empty last field followed by a lone CR in parse. When the input to parse ends in a separator and a lone CR, the parser treats the end of the input as the next character and stores the end-of-file marker in the field as the byte 0xFF. With binary set, parse("a,\r") returns the fields "a" and "\xFF". On UTF-8 flagged input the last field is a UTF-8 flagged string holding that lone byte, which is malformed UTF-8. The same input with a non-empty last field is rejected as an error. A CRLF file read line by line and chomped ends this way when its last column is empty, so the application receives a byte that is not in its input.


Затронутые продукты
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:perl-Text-CSV_XS-1.34-150000.3.6.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS:perl-Text-CSV_XS-1.34-150000.3.6.1

Ссылки
Уязвимость SUSE-SU-2026:5120-1 в SUSE CVRF — exploitDog