CPANSA-Text-CSV_XS-2026-7111: Text-CSV_XS vulnerability
| Publisher | giterlizzi | Document category | csaf_security_advisory |
|---|---|---|---|
| Initial release date | 2026-04-29T00:00:00 | Engine | CSAF Perl Toolkit 0.26 |
| Current release date | 2026-04-29T00:00:00 | Build Date | |
| Current version | 1 | Status | final |
| CVSS v3.1 Base Score | 8.4 | Severity | |
| Original language | Language | en | |
| Also referred to | |||
Vulnerability Description
Text::CSV_XS versions before 1.62 for Perl have a use-after-free when registered callbacks extend the Perl argument stack, which may enable type confusion or memory corruption. The Parse, print, getline, and getline_all methods invoke registered callbacks (for example after_parse, before_print, or on_error) and cache the Perl argument stack pointer across the call. If a callback extends the argument stack enough to trigger a reallocation, the return value is written through the stale pointer into the freed buffer, and the caller reads the original $self argument as the return value instead. Calling code that expects parsed data from getline_all receives the Text::CSV_XS object in its place, leading to logic errors or crashes. Text::CSV_XS objects used without any registered callbacks are not affected.
Vulnerabilities
CVE-2026-7111
Vulnerability DescriptionText::CSV_XS versions before 1.62 for Perl have a use-after-free when registered callbacks extend the Perl argument stack, which may enable type confusion or memory corruption.
The Parse, print, getline, and getline_all methods invoke registered callbacks (for example after_parse, before_print, or on_error) and cache the Perl argument stack pointer across the call. If a callback extends the argument stack enough to trigger a reallocation, the return value is written through the stale pointer into the freed buffer, and the caller reads the original $self argument as the return value instead.
Calling code that expects parsed data from getline_all receives the Text::CSV_XS object in its place, leading to logic errors or crashes. Text::CSV_XS objects used without any registered callbacks are not affected.
| Weakness | CWE-416 : Use After Free |
|---|
Product status
Known affected
| Product | Score | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Text-CSV_XS less than 1.62 |
|
Fixed
- Text-CSV_XS greater than or equal 1.62
giterlizzi
Namespace: https://github.com/giterlizzi/
gdt@cpan.org
References
- CPANSA-Text-CSV_XS-2026-7111 JSON self
https://raw.githubusercontent.com/giterlizzi/perl-CPANSA-CSAF/develop/csaf/white/2026/cpansa-text-csv_xs-2026-7111.json - https://github.com/cpan-authors/Text-CSV_XS/commit/c17f31a5f2bf36674748eb4b6e25672f0571a224.patch external
https://github.com/cpan-authors/Text-CSV_XS/commit/c17f31a5f2bf36674748eb4b6e25672f0571a224.patch - https://metacpan.org/release/HMBRAND/Text-CSV_XS-1.62/changes external
https://metacpan.org/release/HMBRAND/Text-CSV_XS-1.62/changes - http://www.openwall.com/lists/oss-security/2026/04/29/17 external
http://www.openwall.com/lists/oss-security/2026/04/29/17 - CVE-2026-7111 (NVD) external
https://nvd.nist.gov/vuln/detail/CVE-2026-7111
Revision history
| Version | Date of the revision | Summary of the revision |
|---|---|---|
| 1 | Wed Apr 29 00:00:00 2026 | First release |
Sharing rules
TLP:WHITE
For the TLP version see: https://www.first.org/tlp/