CVE-2026-50179
ŚrednieCVSS 4.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
W narzędziu Actual do 26.6.0 funkcje eksportu do CSV nie neutralizują formuł, co pozwala na wstrzyknięcie złośliwych formuł (np. zaczynających się od =, +, -) do plików CSV. Po otwarciu w Excelu, LibreOffice Calc lub Arkuszach Google formuły te są wykonywane, umożliwiając wyciek danych transakcji i manipulację wyświetlanymi wartościami.
Ocena ryzyka
Atakujący może wstrzyknąć formuły do eksportowanych danych finansowych, które po otwarciu przez ofiarę w arkuszu kalkulacyjnym mogą wykraść poufne dane transakcji lub zmienić wygląd arkusza, co stanowi ryzyko dla poufności i integralności danych.
Rekomendacja
Należy natychmiast zaktualizować Actual do wersji 26.6.0 lub nowszej, która zawiera poprawkę neutralizującą prefiksy formuł w eksporcie CSV.
Inne podatności w Actual
Zobacz wszystkie- CVE-2026-57449Wysokie
Actual to lokalne narzędzie do finansów osobistych. Przed wersją 26.7.0 serwer synchronizacji Actual ma proxy CORS, które ma umożliwiać uwierzytelnionym użytkownikom pobieranie zasobów tylko z repozytoriów z oficjalnej listy dozwolonych wtyczek. Gdy skonfigurowano ACTUAL_GITHUB_TOKEN, proxy automatycznie dołącza token GitHub serwera do żądań GitHub. Sprawdzanie listy dozwolonych używa surowego testu prefiksu startsWith() dla /repos/{owner}/{repo} bez wymagania granicy ścieżki po nazwie repozytorium. Jeśli dozwolone repozytorium to https://github.com/acme/plugin, proxy akceptuje również adresy URL API GitHub, które są poza dozwolonym repozytorium, ale przechodzą, ponieważ ich ścieżka API zaczyna się od /repos/acme/plugin. Proxy przekazuje żądanie z tokenem ACTUAL_GITHUB_TOKEN, umożliwiając każdemu uwierzytelnionemu użytkownikowi Actual odczyt prywatnych zasobów GitHub dostępnych dla tego tokena. Wersja 26.7.0 naprawia problem.
- CVE-2026-49229Wysokie
W aplikacji Actual w trybie wieloużytkownikowym OpenID, dezaktywacja użytkownika blokuje jedynie przyszłe logowanie przez OpenID, ale istniejące tokeny sesji pozostają ważne. Brak weryfikacji statusu użytkownika podczas walidacji sesji pozwala dezaktywowanemu użytkownikowi na dalsze wywoływanie uwierzytelnionych endpointów serwera.
- CVE-2026-50007Wysokie
W aplikacji Actual do 26.7.0 brak autoryzacji umożliwia współdzielonemu użytkownikowi z dostępem do pliku budżetu wykonywanie operacji zarządzania plikami zarezerwowanych dla właściciela. Użytkownik niebędący właścicielem może wywoływać endpointy takie jak /delete-user-file, /reset-user-file i /user-create-key, ponieważ funkcja requireFileAccess traktuje zwykły dostęp współdzielony jako wystarczający dla tych operacji.
- CVE-2026-33318Wysokie
W aplikacji Actual (narzędzie do finansów osobistych) przed wersją 26.4.0 istnieje łańcuch podatności pozwalający uwierzytelnionemu użytkownikowi z rolą BASIC na eskalację do ADMIN na serwerach migrowanych z uwierzytelniania hasłem na OpenID Connect. Luka wynika z braku kontroli autoryzacji w POST /account/change-password, pozostawienia nieaktywnego wiersza hasła po migracji oraz akceptacji przez loginMethod dostarczanego przez klienta. Wszystkie trzy słabości muszą być wykorzystane sekwencyjnie, aby uzyskać eskalację uprawnień.
Oryginalny opis (angielski, źródło NVD)
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

