CVE Catalog

CVE-2026-110753

Unknown
Published: Translated: NVD NIST

Summary

Text::CSV_XS versions from 1.46 before 1.65 for Perl have a use-after-free of bind_columns variables when skip_empty_rows skips an empty line in getline. With bind_columns, the parser writes each field into the caller's own scalar without taking a reference to it; when skip_empty_rows skips an empty last line, the parser frees the current field scalar without checking whether it is bound, dropping one reference from the application's variable. The "eof" mode does the same on any empty line. The variable is then freed while the application still references it, so later code uses freed memory and can crash the process.

Risk Assessment

An attacker can supply CSV data with empty lines, causing use-after-free in the application, which may lead to a process crash or potentially arbitrary code execution. This poses a serious threat to service stability and security.

Recommendation

Update Text::CSV_XS to version 1.65 or later. Until updating, avoid using bind_columns together with skip_empty_rows or "eof" mode when processing untrusted data.

Other vulnerabilities in Text::CSV_XS

See all
Original NVD description (English source)

Text::CSV_XS versions from 1.46 before 1.65 for Perl have a use-after-free of bind_columns variables when skip_empty_rows skips an empty line in getline. With bind_columns, the parser writes each field into the caller's own scalar without taking a reference to it. When skip_empty_rows skips an empty last line, the parser frees the current field scalar without checking whether it is bound, dropping one reference from the application's variable. The "eof" mode does the same on any empty line. The variable is then freed while the application still references it, so later code uses freed memory and can crash the process.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS