CVE Catalog

CVE-2026-46672

MediumCVSS 4.6
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.19%

9th percentile - higher than 9% of all known CVEs

Summary

In the Actual local-first personal finance app prior to version 26.6.0, the @actual-app/cli package's escapeCsv helper in packages/cli/src/output.ts does not neutralize standard CSV formula-injection prefixes. User-controlled strings (e.g., transaction lists, accounts, payees) can be interpreted as formulas in spreadsheet software.

Risk Assessment

The risk involves potential data exfiltration and arbitrary formula execution when the generated CSV is opened in Excel, LibreOffice Calc, or Google Sheets. An attacker can inject malicious formulas that auto-execute, leading to data theft.

Recommendation

Immediately update @actual-app/cli to version 26.6.0 or later. Until updated, avoid opening CSV files generated by Actual in spreadsheet applications.

Related vulnerabilities

Original NVD description (English source)

Actual is a local-first personal finance app. Prior to 26.6.0, @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, and newline escaping and does not neutralize standard CSV formula-injection prefixes. Any CLI command that streams an object array containing user-controlled strings, including transactions list, accounts list, payees list, categories list, tags list, category-groups list, rules list, schedules list, and query, can emit cells that auto-evaluate when the resulting CSV is opened in Excel, LibreOffice Calc, or Google Sheets, enabling data exfiltration and arbitrary formula execution. This issue is fixed in version 26.6.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS