CVE-2026-43978
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacja narażona jest na nieautoryzowany dostęp do wszystkich danych członków, modyfikację umów, zarządzanie konfiguracją siłowni oraz dostęp do danych osobowych innych trenerów i menedżerów, co może prowadzić do naruszenia prywatności i integralności systemu.
Rekomendacja
Należy natychmiast zaktualizować wger do wersji 2.6 lub nowszej, która zawiera poprawkę usuwającą podatność. Przed aktualizacją warto ograniczyć dostęp do endpointu logowania trenera tylko dla zaufanych użytkowników.
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-43977Wysokie
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.
Oryginalny opis (angielski, źródło NVD)
wger is a free, open-source workout and fitness manager. In versions prior to 2.6, a gym trainer can escalate their session to any higher-privileged account (gym manager, general manager) by chaining two calls to the trainer-login endpoint. Once a trainer performs a legitimate switch into a low-privileged user, the session flag trainer.identity is set and this flag alone bypasses the permission check on all subsequent trainer-login calls. This grants full gym administration capabilities including viewing all member data, modifying contracts, managing gym configuration, and accessing other trainers' and managers' personal information. This issue has been fixed in version 2.6.

