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
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.
CVE-2026-110755
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-110755
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://github.com/cpan-authors/Text-CSV_XS",
"modules": [
"Text::CSV_XS"
],
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "1.65",
"versionType": "custom"
}
],
"packageURL": "pkg:cpan/Text-CSV_XS",
"packageName": "Text-CSV_XS",
"programFiles": [
"CSV_XS.xs"
],
"collectionURL": "https://cpan.org/modules",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "Text::CSV_XS::getline"
}
]
}
]- Related CVEs
- CVE-2026-110755
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #42452 · Revision 1
- Added to Heist Feed
- Publisher date