CVE-2026-50007
WysokieCVSS 7.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na tym, że współdzielony użytkownik może usunąć lub zresetować plik budżetu oraz utworzyć klucze użytkownika, co prowadzi do utraty danych, przerwania działania lub nieautoryzowanego dostępu do wrażliwych informacji finansowych.
Rekomendacja
Należy niezwłocznie zaktualizować Actual do wersji 26.7.0 lub nowszej, która zawiera poprawkę usuwającą lukę w autoryzacji.
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-50179Średnie
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.
- 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-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 an open-source personal finance application. Prior to 26.7.0, a missing authorization issue allows a shared user with user_access on a budget file to perform owner-only file management actions. A non-owner shared user can call file-management endpoints intended for higher-privilege users, including /delete-user-file, /reset-user-file, and /user-create-key, because requireFileAccess treats ordinary shared access as sufficient for file-management operations that should be restricted to the file owner or an administrator. This issue is fixed in version 26.7.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

