CVE-2026-110756: Text::CSV_XS versions before 1.65 for Perl drop the end of a record and its line ending when a UTF-8 flagged field precedes invalid UTF-8 bytes in print
Stig Palmquist 16 Oct 2026 22:12 UTC
========================================================================
CVE-2026-110756 CPAN Security Group
========================================================================
CVE ID: CVE-2026-110756
Distribution: Text-CSV_XS
Versions: before 1.65
MetaCPAN: https://metacpan.org/dist/Text-CSV_XS
VCS Repo: https://github.com/cpan-authors/Text-CSV_XS
Text::CSV_XS versions before 1.65 for Perl drop the end of a record and
its line ending when a UTF-8 flagged field precedes invalid UTF-8 bytes
in print
Description
-----------
Text::CSV_XS versions before 1.65 for Perl drop the end of a record and
its line ending when a UTF-8 flagged field precedes invalid UTF-8 bytes
in print.
When a record contains a UTF-8 flagged field, print holds back trailing
bytes that are not valid UTF-8 at each buffer flush, so that a
character split across two flushes can be completed. Nothing writes the
held-back bytes after the record's final flush. A record whose last
field ends in such a byte loses it, any closing quote and the line
ending, while print still returns true. combine is not affected.
The next record is written onto the same line, or, when the last field
was quoted, the missing closing quote makes a reader take every
following record as part of that field.
Problem types
-------------
- CWE-116 Improper Encoding or Escaping of Output
Solutions
---------
Upgrade to Text-CSV_XS 1.65 or later.
References
----------
https://github.com/cpan-authors/Text-CSV_XS/commit/0610a8d81262ae6f1ac82a88d73c8a471f38af19.patch
https://metacpan.org/release/HMBRAND/Text-CSV_XS-1.65/changes
Timeline
--------
- 2026-10-14: Fix committed to upstream repository.
- 2026-10-15: Version 1.65 released with fix.