CVE-2026-68582
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
Vikunja w wersjach od 0.24.0 do 2.3.0 zawiera podatność BOLA w punkcie końcowym GET /api/v1/projects/{project}/views/{view}/tasks. Punkt końcowy ładuje widok projektu z ścieżki URL bez weryfikacji uprawnień. Posiadacz tokena linku udostępniania może odczytać rekordy kanban bucket (tytuły bucketów i pełny obiekt created_by) z dowolnego widoku w instancji. Brak autoryzacji umożliwia również wykrywanie istnienia projektów/widoków (oracle 404 vs non-404). Treści zadań pozostają ograniczone do własnego projektu udostępnienia.
Ocena ryzyka
Atakujący posiadający dowolny link udostępniania projektu może odczytać poufne dane (tytuły bucketów, dane użytkowników) z innych projektów oraz wykrywać istnienie projektów/widoków, co narusza poufność i prywatność danych.
Rekomendacja
Zaktualizuj Vikunja do wersji 2.4.0 lub nowszej, która zawiera poprawkę. Ogranicz użycie linków udostępniania do zaufanych użytkowników.
Inne podatności w Vikunja
Zobacz wszystkie- CVE-2026-56765Krytyczne
Podatność w Vikunja przed wersją 2.2.1 umożliwia nieautoryzowany dostęp do skrótów udostępnień oraz pobieranie i usuwanie załączników plików w całej instancji. Błąd autoryzacji w endpointach LinkSharing.ReadAll i GetTaskAttachment pozwala na eskalację uprawnień do poziomu administratora.
- CVE-2026-115507Niskie
Vikunja w wersji od 2.2.0 do 2.7.1 zawiera podatność na wstrzykiwanie HTML w funkcji CreateConversationalHeader w pliku pkg/notifications/mail.go, która interpoluje nazwy wyświetlane oraz tytuły zadań i projektów bezpośrednio do kotwic e-mail. Uwierzytelnieni użytkownicy mogą tworzyć tytuły lub nazwy wyświetlane, które zamykają kotwicę i wstrzykują linki phishingowe do e-maili powiadamiających o komentarzach i wzmiankach w zadaniach wysyłanych do członków projektu.
- CVE-2026-111922Średnie
Vikunja od 2.2.0 przed 2.7.0 zawiera permisywną konfigurację CORS, która ufa każdemu portowi localhost i 127.0.0.1 z poświadczeniami, nawet gdy ustawiono service.publicurl. Atakujący kontrolujący stronę na dowolnym porcie localhost może wysłać żądanie z poświadczeniami do endpointu odświeżania tokenu i odczytać zwrócony bearer JWT, aby przejąć konto zalogowanego użytkownika.
- CVE-2026-111921Średnie
Vikunja w wersjach od 0.13.0 przed 2.7.0 zawiera błąd nieprawidłowej autoryzacji, który pozwala członkom projektu z uprawnieniem Write usuwać udziały linków na poziomie administratora. Sprawdzenie uprawnień do usunięcia odczytuje niezaładowany obiekt udziału, więc atakujący może wysyłać żądania DELETE do endpointów udziałów projektów v1 lub v2 z kolejnymi identyfikatorami, aby unieważnić linki administratora i istniejące sesje udziałów.
- CVE-2026-111920Średnie
Vikunja 2.6.0 zawiera błąd kontroli dostępu w funkcji getProjectAccessForUser (pkg/models/project_access.go), która wyznacza efektywne uprawnienie użytkownika do projektu jako maksimum w drzewie projektów, nadpisując jawne udziały o niższych uprawnieniach w podprojektach. Współpracownik z prawem zapisu w projekcie nadrzędnym, ale tylko do odczytu w projekcie podrzędnym, może modyfikować zadania i zawartość tego podprojektu.
- CVE-2026-111919Średnie
Vikunja w wersjach od 0.22.0 przed 2.7.0 zawiera błąd nieprawidłowego odbierania dostępu, który pozwala usuniętym współpracownikom nadal otrzymywać dane projektu przez utworzone przez nich webhooki. Byli współpracownicy nadal otrzymują tytuły i opisy zadań przez swój webhook, w tym treści utworzone po odebraniu im dostępu.
- CVE-2026-111918Średnie
Vikunja od 1.0.0-rc0 przed 2.7.0 zawiera błąd nieprawidłowej autoryzacji w funkcji RecalculateTaskPositions, który pozwala uwierzytelnionym użytkownikom bez dostępu do jakichkolwiek projektów zapisywać wiersze task_positions dla wszystkich zadań w całej instancji. Atakujący mogą usunąć swój Inbox po zmianie default_project_id, a następnie tworzyć puste filtry zapisane, aby utrwalić odwołania między dzierżawcami i wzmocnić zapisy w celu przeprowadzenia ataku typu denial of service.
- CVE-2026-111917Średnie
Vikunja w wersjach od 2.3.0 przed 2.7.0 zawiera błąd nieprawidłowej walidacji sesji, który pozwala atakującym zachować dostęp do WebSocket po odebraniu uprawnień, ponieważ funkcja handleAuth nigdy nie sprawdza roszczenia sid tokenu JWT względem tabeli sesji. Atakujący posiadający skradziony token dostępu może otwierać lub utrzymywać połączenia z /api/v2/ws po usunięciu sesji lub włączeniu TOTP, nadal otrzymując powiadomienia notification.created ofiary, w tym treści komentarzy, zadań i projektów.
- CVE-2026-62376Wysokie
Vikunja w wersjach przed 2.4.0 przechowuje tokeny resetowania hasła, potwierdzenia e-mail i usunięcia konta w tabeli user_tokens w postaci jawnej. Atakujący z dostępem do odczytu bazy danych może natychmiast użyć oczekujących tokenów do przejęcia kont użytkowników bez znajomości haseł. Problem naprawiono w wersji 2.4.0.
- CVE-2026-62367Wysokie
Vikunja w wersjach 1.0.0–2.3.0, gdy administrator włączy opcję emailfallback dla dostawcy OpenID Connect, łączy logowanie SSO z istniejącym kontem lokalnym wyłącznie na podstawie oświadczenia email od IdP, bez weryfikacji email_verified ani wymogu hasła. Atakujący z tokenem zawierającym e-mail ofiary może zalogować się jako ona bez jej zgody. Problem naprawiono w wersji 2.4.0.
Oryginalny opis (angielski, źródło NVD)
Vikunja versions >= 0.24.0 and <= 2.3.0 contain a broken object level authorization (BOLA) vulnerability in the task-collection endpoint (GET /api/v1/projects/{project}/views/{view}/tasks). The endpoint loads the requested project view from the URL path without verifying the caller is authorized for it. For a link-share token holder, the task scope is pinned to the share's own project, but the view is taken from the attacker-controlled path and never re-validated. As a result, a holder of any project share link can read any other tenant's kanban bucket records — bucket titles and the full created_by user object (username, name, id) — for every view in the instance. The same missing pre-authorization view load also creates a project/view-ID existence oracle (404 vs. non-404) usable by link shares and ordinary authenticated users. Task contents remain constrained to the share's own project and are not disclosed. Fixed in 2.4.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

