{"id":"CVE-2026-110753","kind":"vulnerability","aliases":["CVE-2026-110753"],"related":[],"title":"Text::CSV_XS versions from 1.46 before 1.65 for Perl have a use-after-free of bind_columns variables when…","description":"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.\n\nWith 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.\n\nThe variable is then freed while the application still references it, so later code uses freed memory and can crash the process.","summary":"Text::CSV_XS, a Perl module for reading and writing CSV, frees a variable the application still holds when it skips an empty line. Later reads of that memory can crash the Perl process.","severity":"critical","cvss":9.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","perl","text-csv-xs"],"not_affected_if":["default-config","no-bind-columns"],"how_to_check":"Run: perl -MText::CSV_XS -e 'print $Text::CSV_XS::VERSION' and see whether it is 1.46 or higher but below 1.65.\nFind users with: grep -rn 'bind_columns' and grep -rn 'skip_empty_rows' in your Perl code.","fix":"Upgrade Text::CSV_XS to 1.65 or later.","status":"open","published_at":"2026-10-16T23:17:00+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","triaged_at":"2026-10-23T22:04:54+00:00","updated_at":"2026-10-23T22:28:55+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-23T22:04:54Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade Text::CSV_XS to 1.65 or later.\nunknown","reach":"unknown","impact":"medium","summary":"Text::CSV_XS, a Perl module for reading and writing CSV, frees a variable the application still holds when it skips an empty line. Later reads of that memory can crash the Perl process.","category":"package","who_cares":["perl","text-csv-xs"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Process crash from use of freed memory; code execution not stated.","analyst_note":"Sources do not say whether the flaw can lead to code execution or who can supply the CSV input; check the NVD and upstream Text::CSV_XS changelog for the 1.65 release notes.","how_to_check":"Run: perl -MText::CSV_XS -e 'print $Text::CSV_XS::VERSION' and see whether it is 1.46 or higher but below 1.65.\nFind users with: grep -rn 'bind_columns' and grep -rn 'skip_empty_rows' in your Perl code.\nunknown","needs_analyst":true,"not_affected_if":["default-config","no-bind-columns"],"user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.000504,"input_tokens":2855,"output_tokens":438,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-110753':23A,26A '-2026':22A,25A '1.46':6A,72C '1.65':8A,74C 'applic':48B,144C,164C 'bind':18A,84C,98C 'bound':138C 'caller':107C 'check':134C 'code':170C 'column':19A,85C,99C 'crash':63B,176C 'csv':2A,31B,34B,43B,68C 'current':130C 'cve':21A,24A 'drop':139C 'empti':55B,89C,93C,119C,123C,155C 'eof':148C 'field':104C,131C 'free':16A,44B,82C,128C 'freed':161C,172C 'getlin':96C 'hold':50B 'last':124C 'later':57B,169C 'line':56B,94C,125C,156C 'memori':61B,173C 'mode':149C 'modul':38B 'one':140C 'packag':27B 'parser':101C,127C 'perl':10A,28B,37B,65B,76C 'process':66B,178C 'read':40B,58B 'refer':114C,141C,166C 'row':90C,120C 'scalar':110C,132C 'skip':53B,88C,91C,118C,121C 'still':49B,165C 'take':112C 'text':1A,30B,33B,67C 'text-csv-x':29B 'use':14A,80C,171C 'use-after-fre':13A,79C 'variabl':20A,46B,86C,146C,158C 'version':4A,70C 'whether':135C 'without':111C,133C 'write':42B,102C 'xs':3A,32B,35B,69C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T23:17:00+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"134c704f-9b21-4f2e-91b3-4a467353bcc0","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-110753","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-110753","severity":null,"published_at":"2026-10-16T23:17:00+00:00","modified_at":"2026-10-20T19:17:29+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}