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
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-110753
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 11:30 UTC · Revision 1
Source evidence
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
core-osv · Original sourcePublished 16 Oct 2026, 22:06 UTC
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.
osv:CVE-2026-110753
Complete source record
{
"id": "1abc594d7b262b8747ef5b860cae69f5801ac69bf2207ceb8cc5ddf6d9b72fd0",
"url": "https://osv.dev/vulnerability/CVE-2026-110753",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "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",
"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.",
"evidence": "osv:CVE-2026-110753",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2026-110753",
"aliases": [
"CVE-2026-110753"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/cpan-authors/text-csv_xs",
"type": "GIT",
"events": [
{
"introduced": "7a419a4e781af4f5388b25cc6f5b75449b7234fa"
},
{
"fixed": "84085bcda35b916ff251e433cc5b7a1cf04066f5"
},
{
"fixed": "f082d5c8aab1b8d16b6181d4f3042a06947e260f"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "1.46"
},
{
"fixed": "1.65"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"fixed": "f082d5c8aab1b8d16b6181d4f3042a06947e260f"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"1.64",
"1.63",
"1.62",
"1.61",
"1.60",
"1.59",
"1.58",
"1.56",
"1.55",
"1.54",
"1.53",
"1.51",
"1.50",
"1.49",
"1.48",
"1.47",
"1.46"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-110753.json"
}
}
],
"modified": "2026-10-28T02:30:28.141470773Z",
"provider": "osv",
"references": [
"https://cpan.org/modules",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/110xxx/CVE-2026-110753.json",
"https://metacpan.org/release/HMBRAND/Text-CSV_XS-1.65/changes",
"https://nvd.nist.gov/vuln/detail/CVE-2026-110753",
"https://github.com/cpan-authors/Text-CSV_XS/commit/f082d5c8aab1b8d16b6181d4f3042a06947e260f.patch",
"https://github.com/cpan-authors/Text-CSV_XS"
],
"provider_metadata": {
"cwe_ids": [
"CWE-416",
"CWE-911"
],
"cna_assigner": "CPANSec",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/110xxx/CVE-2026-110753.json"
}
},
"related_cves": [
{
"value": "CVE-2026-110753",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 494921,
"published_at": "2026-10-16T22:06:23.68+00:00"
}