{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-110754", "assignerOrgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e", "state": "PUBLISHED", "assignerShortName": "CPANSec", "dateReserved": "2026-10-14T17:06:30.806Z", "datePublished": "2026-10-16T22:06:46.839Z", "dateUpdated": "2026-10-16T22:06:46.839Z" }, "containers": { "cna": { "affected": [ { "collectionURL": "https://cpan.org/modules", "defaultStatus": "unaffected", "modules": [ "Text::CSV_XS" ], "packageName": "Text-CSV_XS", "packageURL": "pkg:cpan/Text-CSV_XS", "programFiles": [ "CSV_XS.xs" ], "programRoutines": [ { "name": "Text::CSV_XS::getline" } ], "repo": "https://github.com/cpan-authors/Text-CSV_XS", "versions": [ { "lessThan": "1.65", "status": "affected", "version": "0", "versionType": "custom" } ] } ], "descriptions": [ { "lang": "en", "value": "Text::CSV_XS versions before 1.65 for Perl leak the parsed fields of a record that fails to parse in getline.\n\ngetline collects the fields of a record into a new array and returns a reference to it only when the parse succeeds. When the record has a syntax error, getline returns undef and never frees the array or the fields parsed before the error.\n\nA long-running process parsing untrusted CSV retains every malformed record it is sent, so repeated malformed input exhausts its memory." } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-401", "description": "CWE-401 Missing Release of Memory after Effective Lifetime", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e", "shortName": "CPANSec", "dateUpdated": "2026-10-16T22:06:46.839Z" }, "references": [ { "tags": [ "patch" ], "url": "https://github.com/cpan-authors/Text-CSV_XS/commit/eb4f739ffc605bfb1ab710e5330704faa0e89f08.patch" }, { "tags": [ "release-notes" ], "url": "https://metacpan.org/release/HMBRAND/Text-CSV_XS-1.65/changes" } ], "solutions": [ { "lang": "en", "value": "Upgrade to Text-CSV_XS 1.65 or later." } ], "source": { "discovery": "UNKNOWN" }, "timeline": [ { "lang": "en", "time": "2026-10-14T00:00:00.000Z", "value": "Fix committed to upstream repository." }, { "lang": "en", "time": "2026-10-15T00:00:00.000Z", "value": "Version 1.65 released with fix." } ], "title": "Text::CSV_XS versions before 1.65 for Perl leak the parsed fields of a record that fails to parse in getline", "x_generator": { "engine": "cpansec-cna-tool 0.1" } } } }