CVE-2026-49229
WysokieCVSS 8.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 25 - wyżej niż 25% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na tym, że dezaktywowany użytkownik może nadal uzyskiwać dostęp do danych finansowych i funkcji aplikacji, co narusza politykę bezpieczeństwa i kontrolę dostępu w organizacji.
Rekomendacja
Należy niezwłocznie zaktualizować aplikację Actual do wersji 26.6.0 lub nowszej, która zawiera poprawkę usuwającą tę lukę.
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-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 app. Prior to 26.6.0, in OpenID multi-user mode, disabling a user only blocks future OpenID login for that identity, while existing Actual session tokens for the disabled user remain valid. The shared session validation path accepts any existing token row that has not expired without checking whether the associated user is still enabled, allowing a disabled user to continue calling authenticated server endpoints. This issue is fixed in version 26.6.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

