{"id":"CVE-2026-78209","state":"PUBLISHED","title":"exceljs through 4.4.0 CSV Formula Injection via Unescaped Cell Values","description":"exceljs through 4.4.0 fails to neutralize leading equals, plus, minus, or at signs in cell values written to CSV output. Attackers who can influence exported cell values can inject formulas that execute when the CSV file is opened in a spreadsheet application, potentially exfiltrating data or performing other malicious actions.","publishedAt":"2026-08-24T00:30:48.493Z","updatedAt":"2026-08-29T11:47:59.263Z","severity":{"score":8.4,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N","source":"VulnCheck"},"assigner":"VulnCheck","products":["exceljs exceljs"],"affected":[{"vendor":"exceljs","product":"exceljs","packageName":"exceljs","packageURL":"pkg:npm/exceljs","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"4.4.0","versionType":"semver"}],"collectionURL":"https://www.npmjs.com/package/exceljs"}],"references":["https://github.com/exceljs/exceljs","https://github.com/mateocallec/exceljs-hardened/security/advisories/GHSA-9wxc-4rhw-hfrw","https://github.com/exceljs/exceljs/blob/v4.4.0/lib/csv/csv.js#L109-L182","https://www.vulncheck.com/advisories/exceljs-through-csv-formula-injection-via-unescaped-cell-values"],"weaknesses":["CWE-1236"],"ingestedAt":"2026-10-29T20:13:07.220Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/78xxx/CVE-2026-78209.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-78209","state":"PUBLISHED","datePublished":"2026-08-24T00:30:48.493Z","dateUpdated":"2026-08-29T11:47:59.263Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-08-24T00:15:01.656Z"},"containers":{"cna":{"title":"exceljs through 4.4.0 CSV Formula Injection via Unescaped Cell Values","descriptions":[{"lang":"en","value":"exceljs through 4.4.0 fails to neutralize leading equals, plus, minus, or at signs in cell values written to CSV output. Attackers who can influence exported cell values can inject formulas that execute when the CSV file is opened in a spreadsheet application, potentially exfiltrating data or performing other malicious actions."}],"affected":[{"vendor":"exceljs","product":"exceljs","packageName":"exceljs","packageURL":"pkg:npm/exceljs","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"4.4.0","versionType":"semver"}],"collectionURL":"https://www.npmjs.com/package/exceljs"}],"references":[{"url":"https://github.com/exceljs/exceljs","tags":["product"]},{"url":"https://github.com/mateocallec/exceljs-hardened/security/advisories/GHSA-9wxc-4rhw-hfrw","name":"GitHub Security Advisory (GHSA-9wxc-4rhw-hfrw)","tags":["third-party-advisory"]},{"url":"https://github.com/exceljs/exceljs/blob/v4.4.0/lib/csv/csv.js#L109-L182","tags":["technical-description"]},{"url":"https://www.vulncheck.com/advisories/exceljs-through-csv-formula-injection-via-unescaped-cell-values","name":"VulnCheck Advisory: exceljs through 4.4.0 CSV Formula Injection via Unescaped Cell Values","tags":["third-party-advisory"]}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"PASSIVE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"HIGH","subIntegrityImpact":"LOW","subAvailabilityImpact":"NONE","baseScore":8.4,"baseSeverity":"HIGH"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"LOW","availabilityImpact":"NONE","baseScore":8.2,"baseSeverity":"HIGH"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-1236","lang":"en","description":"Improper Neutralization of Formula Elements in a CSV File","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-08-29T11:47:59.263Z"},"datePublic":"2026-08-23T00:00:00.000Z","cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:exceljs_project:exceljs:*:*:*:*:*:*:*:*","versionEndIncluding":"4.4.0"}]}]}],"credits":[{"lang":"en","value":"Matéo Florian Callec","type":"finder"}],"x_generator":{"engine":"vulncheck-endgame"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-08-24T18:02:14.458123Z","id":"CVE-2026-78209","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-08-24T18:02:29.223Z"}}]}}}