CVE-2026-110755 PUBLISHED

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

Assigner: CPANSec
Reserved: 14.10.2026 Published: 16.10.2026 Updated: 16.10.2026

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.

Product Status

Package Collection https://cpan.org/modules
Package Name Text-CSV_XS
Versions Default: unaffected
  • affected from 0 to 1.65 (excl.)

Solutions

Upgrade to Text-CSV_XS 1.65 or later.

References

Problem Types

  • CWE-407 Inefficient Algorithmic Complexity CWE