Description
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.
Published: 2026-10-16
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service through memory exhaustion caused by leaked fields from unparsable CSV records
Action: Patch and validate
AI Analysis

Impact

When Text-CSV_XS receives a CSV record that cannot be parsed, the getline routine creates an array of fields, returns undef, and then fails to release the partially built array. Each malformed input therefore adds memory to the process, and the leak accumulates over time. A long-running application that continuously parses untrusted CSV data can eventually exhaust available memory, leading to a crash or severe slowdown. The flaw is a classic memory-leak weakness (CWE-401).

Affected Systems

Perl programs that load Text-CSV_XS versions older than 1.65 and invoke getline to parse data. This includes command-line utilities, web services, background workers, or any other process that processes CSV streams from external users. All environments running the vulnerable module – regardless of operating system or deployment model – are at risk.

Risk and Exploitability

An EPSS score of 0.00192 indicates a very low exploitation probability, while a CVSS score of 6.5 indicates medium severity. The memory-leak vulnerability can lead to resource exhaustion and denial of service; it does not require privileges. The likely attack vector is feeding a large volume of malformed CSV records from an external source. Because the module is used by various Perl programs that parse CSV from network or file inputs, remote exploitation is feasible. The flaw is not listed in the CISA KEV catalog, and no widespread exploitation is known as of now.

Generated by OpenCVE AI on October 22, 2026 at 22:55 UTC.

Remediation

Vendor Solution

Upgrade to Text-CSV_XS 1.65 or later.


OpenCVE Recommended Actions

  • Upgrade Text-CSV_XS to version 1.65 or later so that getline frees memory when parsing fails
  • Validate or sanitize CSV input before hand; reject or correct malformed records and log them rather than feeding them directly into the parser
  • Limit the memory footprint of the parsing process by applying OS or container resource limits (ulimit, cgroups, or similar) and monitor for abnormal growth to detect and mitigate potential leaks

Generated by OpenCVE AI on October 22, 2026 at 22:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 20 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}


Sat, 17 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}

threat_severity

Moderate


Fri, 16 Oct 2026 22:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Text::CSV_XS versions before 1.65 for Perl leak the parsed fields of a record that fails to parse in getline
Weaknesses CWE-401
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-20T18:15:41.395Z

Reserved: 2026-10-14T17:06:30.806Z

Link: CVE-2026-110754

cve-icon Vulnrichment

Updated: 2026-10-20T18:15:14.419Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-16T23:17:00.637

Modified: 2026-10-20T19:17:29.700

Link: CVE-2026-110754

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-16T22:06:46Z

Links: CVE-2026-110754 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T23:00:14Z

Weaknesses
  • CWE-401

    Missing Release of Memory after Effective Lifetime

  • CWE-772

    Missing Release of Resource after Effective Lifetime