Medium, CVSS 4.6npmAmendedPublished
@actual-app/cli --format csv Output Vulnerable to CSV Formula Injection via Custom escapeCsv Helper
CVE-2026-46672 · GHSA-7gh7-258j-4mpq
- Affected
- npm @actual-app/cli < 26.6.0
- Fixed in
- 26.6.0· Vendor fix available
- Issue
- @actual-app/cli ships a hand-rolled CSV serializer in packages/cli/src/output.ts (used whenever the global --format csv option is passed) whose escapeCsv helper only handles RFC 4180 delimiter/quote/newline escaping. It does not neutralize the standard CSV formula-injection prefixes (=, +, -, @, \t, \r). Any CLI command that streams an object array containing user-controlled strings — transactions list, accounts list, payees list, categories list, tags list, category-groups list, rules list, schedules list, query — will emit cells that auto-evaluate when the resulting CSV is opened in Excel, LibreOffice Calc, or Google Sheets, enabling data exfiltration (=HYPERLINK(...), =WEBSERVICE(...)) and arbitrary formula execution. This is a distinct variant of the formula-injection surface in packages/loot-core/src/server/transactions/export/export-to-csv.ts (which uses csv-stringify and would need a separate cast option fix) — they are different files, different packages, and…
Recommended action: Upgrade to 26.6.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.