CVE-2026-43977
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
W aplikacji wger przed wersją 2.6 uwierzytelniony użytkownik może odczytać prywatne notatki treningowe, historię ćwiczeń i statystyki innego użytkownika, wywołując akcje /logs/ i /stats/ na rutynie, której nie jest właścicielem. Podatność wynika z błędnego sprawdzania uprawnień w RoutineViewSet, które przyznaje dostęp do odczytu każdemu uwierzytelnionemu użytkownikowi, gdy rutyna ma ustawione is_template=True.
Ocena ryzyka
Organizacja narażona jest na wyciek prywatnych danych treningowych użytkowników, co może naruszać poufność i zasady ochrony danych osobowych.
Rekomendacja
Należy niezwłocznie zaktualizować wger do wersji 2.6 lub nowszej, która zawiera poprawkę usuwającą tę podatność.
Inne podatności w wger
Zobacz wszystkie- CVE-2026-43948Krytyczne
W wger przed wersją 2.6 występuje podatność, która pozwala użytkownikowi z uprawnieniami gym.manage_gym na zresetowanie hasła dowolnego użytkownika bez przypisania do siłowni. Wykorzystując błąd w porównaniu obiektów, atakujący może przejąć konto ofiary, a oryginalne hasło ofiary zostaje unieważnione.
- CVE-2026-43978Wysokie
W wger przed wersją 2.6 trener siłowni może eskalować swoje uprawnienia do konta menedżera siłowni lub dyrektora generalnego poprzez sekwencję dwóch żądań do endpointu logowania trenera. Po zalogowaniu się na konto o niskich uprawnieniach flaga sesji `trainer.identity` jest ustawiana i omija ona kontrolę dostępu w kolejnych wywołaniach.
Oryginalny opis (angielski, źródło NVD)
wger is a free, open-source workout and fitness manager. In versions prior to 2.6, any authenticated user can read another user's private workout session notes, exercise history, and training statistics by calling the /logs/ and /stats/ actions on a routine they do not own. The vulnerability exists in RoutineViewSet (wger/manager/api/views.py). The view defines two custom actions /logs/ and /stats/ that are intended to return data for the requesting user's own training history within a routine. However, the underlying permission check (RoutinePermission.has_object_permission) grants read access to any authenticated user when the routine has is_template=True, regardless of ownership. When the /logs/ or /stats/ actions are invoked against a routine the attacker does not own, they return the owner's private workout history, not the attacker's. This issue has been fixed in version 2.6.

