CVE-2026-35602
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 27 - wyżej niż 27% wszystkich znanych CVE
Streszczenie
W Vikunja w wersjach przed 2.3.0 endpoint importu plików używa kontrolowanego przez atakującego pola Size z metadanych JSON wewnątrz importowanego zipa zamiast rzeczywistego rozmiaru zdekompresowanej zawartości do sprawdzania limitu rozmiaru pliku. Ustawienie Size na 0 przy dużych skompresowanych wpisach w zipie omija skonfigurowany limit maksymalnego rozmiaru pliku.
Ocena ryzyka
Atakujący może obejść limity rozmiaru plików i zużywać nadmierne zasoby dyskowe lub pamięci, potencjalnie prowadząc do odmowy usługi. Ryzyko dotyczy instancji Vikunja z włączonym importem plików.
Rekomendacja
Zaktualizuj Vikunja do wersji 2.3.0 lub nowszej. Do czasu aktualizacji ogranicz dostęp do funkcji importu plików zaufanym użytkownikom.
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 is an open-source self-hosted task management platform. Prior to 2.3.0, the Vikunja file import endpoint uses the attacker-controlled Size field from the JSON metadata inside the import zip instead of the actual decompressed file content length for the file size enforcement check. By setting Size to 0 in the JSON while including large compressed file entries in the zip, an attacker bypasses the configured maximum file size limit. This vulnerability is fixed in 2.3.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

