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.
References
Configurations
No configuration.
History
20 Oct 2026, 19:17
| Type | Values Removed | Values Added |
|---|---|---|
| CVSS |
v2 : v3 : |
v2 : unknown
v3 : 7.5 |
16 Oct 2026, 23:17
| Type | Values Removed | Values Added |
|---|---|---|
| New CVE |
Information
Published : 2026-10-16 23:17
Updated : 2026-10-20 19:17
NVD link : CVE-2026-110755
Mitre link : CVE-2026-110755
CVE.ORG link : CVE-2026-110755
JSON object : View
Products Affected
No product.
CWE
CWE-407
Inefficient Algorithmic Complexity
