CVE-2026-46672

medium

Description

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.

References

https://github.com/actualbudget/actual/security/advisories/GHSA-7gh7-258j-4mpq

https://github.com/actualbudget/actual/releases/tag/v26.6.0

https://github.com/actualbudget/actual/pull/7859

https://github.com/actualbudget/actual/commit/068185751c03b42e726e3c60b718413d5f96c306

Details

Source: Mitre, NVD

Published: 2026-07-07

Updated: 2026-07-08

Risk Information

CVSS v2

Base Score: 3.2

Vector: CVSS2#AV:L/AC:L/Au:S/C:P/I:P/A:N

Severity: Low

CVSS v3

Base Score: 4.6

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N

Severity: Medium

EPSS

EPSS: 0.00017