---
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: none
cwe:
  - CWE-127
product: Text-CSV_XS
affected:
  - Text-CSV_XS < 1.65
published: '2026-10-16'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T22:08:10.917Z'
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'
tags:
  - cve.org
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.
