CVE Catalog

CVE-2026-110755

Unknown
Published: Translated: NVD NIST

Summary

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, and after each record the parser copies the whole unparsed remainder into a new buffer. A reader with default options that is sent CSV with classic Mac line endings spends seconds of CPU time on a megabyte of input.

Risk Assessment

An attacker can supply a crafted CSV file with CR line endings, causing excessive CPU consumption and slowing or blocking the service that processes the data. This can lead to denial of service (DoS) in applications parsing untrusted CSV data.

Recommendation

Update Text::CSV_XS to version 1.65 or later. If updating is not possible, explicitly set the eol option or limit the size and source of processed CSV data.

Other vulnerabilities in Text::CSV_XS

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS