{"id":"CVE-2026-50179","sourceIdentifier":"security-advisories@github.com","published":"2026-07-07T22:16:52.923","lastModified":"2026-10-25T20:10:00.147","vulnStatus":"Deferred","cveTags":[],"descriptions":[{"lang":"en","value":"Actual is a local-first personal finance tool. Prior to 26.6.0, exportToCSV and exportQueryToCSV in packages/loot-core/src/server/transactions/export/export-to-csv.ts pass user-controlled Payee, Notes, Account, and Category strings to csv-stringify with no cast callback and no formula-prefix neutralization. Strings that begin with equals sign, plus, minus, at sign, tab, or carriage return survive verbatim into the exported CSV, and when a recipient opens the file in Excel, LibreOffice Calc, or Google Sheets, the strings are interpreted as formulas, enabling transaction data exfiltration and attacker-chosen spreadsheet display values. This issue is fixed in version 26.6.0."},{"lang":"es","value":"Actual es una herramienta de finanzas personales ’local-first’. Antes de la versión 26.6.0, las funciones exportToCSV y exportQueryToCSV en packages/loot-core/src/server/transactions/export/export-to-csv.ts pasan cadenas controladas por el usuario (Beneficiario, Notas, Cuenta y Categoría) a csv-stringify sin una función de devolución de llamada de conversión (’cast callback’) y sin neutralización de prefijos de fórmula. Las cadenas que comienzan con un signo igual, más, menos, arroba, tabulador o retorno de carro sobreviven textualmente en el CSV exportado, y cuando un destinatario abre el archivo en Excel, LibreOffice Calc o Google Sheets, las cadenas se interpretan como fórmulas, lo que permite la exfiltración de datos de transacciones y valores de visualización de hoja de cálculo elegidos por el atacante. Este problema se solucionó en la versión 26.6.0."}],"affected":[{"source":"security-advisories@github.com","affectedData":[{"vendor":"actualbudget","product":"actual","versions":[{"version":"< 26.6.0","status":"affected"}]}]}],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N","baseScore":4.2,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":1.6,"impactScore":2.5}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-07-09T14:21:10.601992Z","id":"CVE-2026-50179","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"weaknesses":[{"source":"security-advisories@github.com","type":"Secondary","description":[{"lang":"en","value":"CWE-1236"}]}],"references":[{"url":"https://github.com/actualbudget/actual/commit/068185751c03b42e726e3c60b718413d5f96c306","source":"security-advisories@github.com"},{"url":"https://github.com/actualbudget/actual/releases/tag/v26.6.0","source":"security-advisories@github.com"},{"url":"https://github.com/actualbudget/actual/security/advisories/GHSA-xqjm-27pc-rvwm","source":"security-advisories@github.com"}]}