---
id: CVE-2026-110758
title: >-
  Text::CSV_XS versions before 1.65 for Perl read before the start of an
  all-blank field under allow_whitespace in strip_trail_whitespace
summary: >-
  Text::CSV_XS versions before 1.65 for Perl read before the start of an
  all-blank field under allow_whitespace in strip_trail_whitespace.


  Under allow_whitespace, strip_trail_whitespace removes trailing spaces and
  tabs from each unquoted …
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'
cvssSource: adp
cwe:
  - CWE-127
  - CWE-124
vendor: Red Hat
product: Text-CSV_XS
affected:
  - Text-CSV_XS < 1.65
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-20T18:31:03.466952Z'
published: '2026-10-16'
updated: '2026-10-20'
sourceUpdated: '2026-10-20T18:31:16.823Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-110758'
references:
  - url: >-
      https://github.com/cpan-authors/Text-CSV_XS/commit/efed7ee21177c59a5b69e787f84154e1fcb0d095.patch
  - url: 'https://metacpan.org/release/HMBRAND/Text-CSV_XS-1.65/changes'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-110758.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-110758'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2554508'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-110758'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-110758'
tags:
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00354
epssPercentile: 0.28912
scores:
  adp: 7.5
  vendor: 5.9
ingestedAt: '2026-10-16T22:54:45.851Z'
---

## Overview

Text::CSV_XS versions before 1.65 for Perl read before the start of an all-blank field under allow_whitespace in strip_trail_whitespace.

Under allow_whitespace, strip_trail_whitespace removes trailing spaces and tabs from each unquoted field without stopping at the start of the field. For a field of only blanks it reads the byte before the field's heap buffer. If that byte is also a space or tab, it may be zeroed and the walk continue backwards, depending on what the allocator placed there.

Leading blanks are normally skipped before a field is stored, but an all-blank field still arrives after a leading escape_char that differs from quote_char, or as a quoted field in getline when its line ends in two CRs.

## Affected

- `Text-CSV_XS < 1.65`

## Remediation

Upgrade to Text-CSV_XS 1.65 or later.

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9 · no fix planned: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9 · updated 2026-10-19 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-110758.json)
