CVE-2026-80195
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
Podatność w Kimai przed wersją 2.63.0 w punkcie końcowym API aktualizacji zespołu (PATCH /api/teams/{id}) powoduje usunięcie wszystkich istniejących członków zespołu przed walidacją przesłanej listy zastępczej. Uwierzytelniony lider zespołu (lub inny użytkownik z uprawnieniami do edycji zespołu) może przesłać nieprawidłowy ładunek członków; mimo że Kimai zwraca błąd walidacji, istniejące rekordy członkostwa zostały już usunięte. Obejmuje to ochronę dedykowanego punktu końcowego usuwania członków przed usuwaniem liderów zespołów i może pozostawić zespół bez członków lub liderów, zakłócając kontrolę dostępu opartą na zespołach.
Ocena ryzyka
Atakujący może zakłócić działanie zespołów i kontroli dostępu, co może prowadzić do nieautoryzowanego dostępu lub braku dostępności funkcji zarządzania zespołami.
Rekomendacja
Zaleca się aktualizację Kimai do wersji 2.63.0 lub nowszej oraz wdrożenie poprawek zabezpieczających dla punktu końcowego API.
Inne podatności w Kimai
Zobacz wszystkie- CVE-2026-80202Wysokie
Kimai przed wersją 2.56.0 nie egzekwuje sprawdzania przynależności do zespołu w TimesheetVoter::voteOnAttribute(), co pozwala każdemu uwierzytelnionemu użytkownikowi z rolą ROLE_TEAMLEAD (lub posiadającemu uprawnienia edit_other_timesheet/delete_other_timesheet) na odczyt, modyfikację i trwałe usuwanie timesheetów dowolnego użytkownika w systemie przez API, niezależnie od przynależności do zespołu.
- CVE-2026-80201Niskie
Kimai przed wersją 2.53.0 nie blokuje wrażliwych metod User w sandboxie szablonów Twig, co pozwala administratorom wywoływać metody getApiToken() i getPlainApiToken(). Atakujący z uprawnieniami do tworzenia szablonów mogą osadzić te wywołania w szablonach faktur, aby wyciekać zahaszowane tokeny API w wygenerowanym wyniku faktury.
- CVE-2026-80200Średnie
Kimai przed wersją 2.53.0 zawiera podatność na otwarte przekierowanie w obsłudze sukcesu uwierzytelniania SAML, która akceptuje niezweryfikowane parametry POST RelayState jako cele przekierowania. Atakujący z dostępem do IdP mogą dostarczyć złośliwe wartości RelayState, aby przekierować uwierzytelnionych użytkowników na adresy URL kontrolowane przez atakującego w celu kradzieży poświadczeń lub ataków phishingowych.
- CVE-2026-80199Niskie
Kimai przed wersją 2.54.0 zawiera podatność timing oracle w TokenAuthenticator, która umożliwia nieuwierzytelnionym atakującym enumerację prawidłowych nazw użytkowników poprzez nagłówek X-AUTH-USER. Różnice w czasie odpowiedzi ujawniają istnienie kont.
- CVE-2026-80198Wysokie
Kimai przed wersją 2.56.0 nie ogranicza funkcji Twig config() w szablonach faktur i eksportu w trybie piaskownicy, co pozwala administratorom na dostęp do dowolnych kluczy konfiguracyjnych. Atakujący z uprawnieniami administratora mogą przesłać złośliwe szablony, aby wyeksfiltrować sekrety serwera, takie jak hasła LDAP i klucze prywatne SAML, do dokumentów dostępnych dla użytkowników z niższymi uprawnieniami.
- CVE-2026-80197Średnie
Kimai przed wersją 2.57.0 zawiera podatność nieprawidłowej autoryzacji w punktach końcowych dodawania i usuwania ulubionych kart czasu, która pozwala uwierzytelnionym użytkownikom manipulować zakładkami innych użytkowników. Atakujący mogą dodawać lub usuwać wpisy kart czasu z listy ulubionych innego użytkownika, odwołując się do ich identyfikatora karty czasu, co umożliwia naruszenie stanu biznesowego między użytkownikami bez uprawnień administracyjnych.
- CVE-2026-80196Wysokie
Kimai przed wersją 2.58.0 zawiera podatność na obejście uwierzytelniania, gdzie linki do resetowania hasła pozostają ważne po zmianie hasła, ponieważ podpis LoginLink obejmuje tylko identyfikator użytkownika, a nie hash hasła. Atakujący, którzy przechwycą lub zbuforują link do resetowania hasła, mogą go użyć do 2 dodatkowych razy w ciągu 1 godziny, aby zalogować się jako użytkownik nawet po zmianie hasła przez uprawnionego użytkownika.
- CVE-2026-80194Średnie
Podatność w Kimai przed wersją 2.64.0 w trasie eksportu ProjectViewController (report_project_view_export) wynika z braku autoryzacji. Kontrole autoryzacji są przypisane do metody __invoke, a nie na poziomie klasy, więc trasa eksportu nie dziedziczy żadnych kontroli autoryzacji. Każdy uwierzytelniony użytkownik, w tym zwykły ROLE_USER bez uprawnienia project_reporting, może pobrać eksport przeglądu projektu, który zwraca ten sam zestaw danych co chroniony raport, ujawniając nazwy klientów, nazwy projektów, walutę, typ budżetu i sumy zbiorcze dla wszystkich klientów. Rzeczywiste dane finansowe pozostają chronione w szablonie eksportu.
- CVE-2026-80193Wysokie
Kimai przed wersją 2.62.0 nie sprawdza uprawnienia create_other_timesheet w kontrolerze QuickEntry podczas tworzenia nowych wpisów czasu. Uwierzytelnieni użytkownicy z uprawnieniami view_other_timesheet i edit_other_timesheet mogą tworzyć wpisy czasu dla członków zespołu, omijając kontrolę autoryzacji.
Oryginalny opis (angielski, źródło NVD)
Kimai before 2.63.0 contains a business logic / improper authorization vulnerability in the team update API endpoint (PATCH /api/teams/{id}), which removes all existing team members before validating the submitted replacement member list. An authenticated teamlead (or other user) with permission to edit a team can submit a malformed members payload; although Kimai returns a validation error, the existing membership rows have already been deleted. This bypasses the dedicated member-removal endpoint's protection against removing teamleaders and can leave a team with no members or teamleaders, disrupting team-based access control.

