{"api_version":"1","generated_at":"2026-10-17T01:56:02+00:00","cve":"CVE-2026-110756","urls":{"html":"https://cve.report/CVE-2026-110756","api":"https://cve.report/api/cve/CVE-2026-110756.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-110756","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-110756"},"summary":{"title":"Text::CSV_XS versions before 1.65 for Perl drop the end of a record and its line ending when a UTF-8 flagged field precedes invalid UTF-8 bytes in print","description":"Text::CSV_XS versions before 1.65 for Perl drop the end of a record and its line ending when a UTF-8 flagged field precedes invalid UTF-8 bytes in print.\n\nWhen a record contains a UTF-8 flagged field, print holds back trailing bytes that are not valid UTF-8 at each buffer flush, so that a character split across two flushes can be completed. Nothing writes the held-back bytes after the record's final flush. A record whose last field ends in such a byte loses it, any closing quote and the line ending, while print still returns true. combine is not affected.\n\nThe next record is written onto the same line, or, when the last field was quoted, the missing closing quote makes a reader take every following record as part of that field.","state":"PUBLISHED","assigner":"CPANSec","published_at":"2026-10-16 23:17:00","updated_at":"2026-10-16 23:17:00"},"problem_types":["CWE-116","CWE-116 CWE-116 Improper Encoding or Escaping of Output"],"metrics":[],"references":[{"url":"https://github.com/cpan-authors/Text-CSV_XS/commit/0610a8d81262ae6f1ac82a88d73c8a471f38af19.patch","name":"https://github.com/cpan-authors/Text-CSV_XS/commit/0610a8d81262ae6f1ac82a88d73c8a471f38af19.patch","refsource":"9b29abf9-4ab0-4765-b253-1875cd9b441e","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://metacpan.org/release/HMBRAND/Text-CSV_XS-1.65/changes","name":"https://metacpan.org/release/HMBRAND/Text-CSV_XS-1.65/changes","refsource":"9b29abf9-4ab0-4765-b253-1875cd9b441e","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-110756","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-110756","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[{"source":"CNA","time":"2026-10-14T00:00:00.000Z","lang":"en","value":"Fix committed to upstream repository."},{"source":"CNA","time":"2026-10-15T00:00:00.000Z","lang":"en","value":"Version 1.65 released with fix."}],"solutions":[{"source":"CNA","title":"","value":"Upgrade to Text-CSV_XS 1.65 or later.","time":"","lang":"en"}],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"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::print"}],"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 drop the end of a record and its line ending when a UTF-8 flagged field precedes invalid UTF-8 bytes in print.\n\nWhen a record contains a UTF-8 flagged field, print holds back trailing bytes that are not valid UTF-8 at each buffer flush, so that a character split across two flushes can be completed. Nothing writes the held-back bytes after the record's final flush. A record whose last field ends in such a byte loses it, any closing quote and the line ending, while print still returns true. combine is not affected.\n\nThe next record is written onto the same line, or, when the last field was quoted, the missing closing quote makes a reader take every following record as part of that field."}],"problemTypes":[{"descriptions":[{"cweId":"CWE-116","description":"CWE-116 Improper Encoding or Escaping of Output","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-16T22:07:37.437Z","orgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","shortName":"CPANSec"},"references":[{"tags":["patch"],"url":"https://github.com/cpan-authors/Text-CSV_XS/commit/0610a8d81262ae6f1ac82a88d73c8a471f38af19.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 drop the end of a record and its line ending when a UTF-8 flagged field precedes invalid UTF-8 bytes in print","x_generator":{"engine":"cpansec-cna-tool 0.1"}}},"cveMetadata":{"assignerOrgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","assignerShortName":"CPANSec","cveId":"CVE-2026-110756","datePublished":"2026-10-16T22:07:37.437Z","dateReserved":"2026-10-14T17:07:07.806Z","dateUpdated":"2026-10-16T22:07:37.437Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-16 23:17:00","lastModifiedDate":"2026-10-16 23:17:00","problem_types":["CWE-116","CWE-116 CWE-116 Improper Encoding or Escaping of Output"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"110756","Ordinal":"1","Title":"Text::CSV_XS versions before 1.65 for Perl drop the end of a rec","CVE":"CVE-2026-110756","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"110756","Ordinal":"1","NoteData":"Text::CSV_XS versions before 1.65 for Perl drop the end of a record and its line ending when a UTF-8 flagged field precedes invalid UTF-8 bytes in print.\n\nWhen a record contains a UTF-8 flagged field, print holds back trailing bytes that are not valid UTF-8 at each buffer flush, so that a character split across two flushes can be completed. Nothing writes the held-back bytes after the record's final flush. A record whose last field ends in such a byte loses it, any closing quote and the line ending, while print still returns true. combine is not affected.\n\nThe next record is written onto the same line, or, when the last field was quoted, the missing closing quote makes a reader take every following record as part of that field.","Type":"Description","Title":"Text::CSV_XS versions before 1.65 for Perl drop the end of a rec"}]}}}