Aplikacja Donetick do zarządzania zadaniami używa tokenów JWT z domyślnie słabym sekretem podpisującym, który w praktyce nie jest zmieniony przez administratorów. Podatność pozwala atakującemu na pełne przejęcie dowolnego konta użytkownika bez wcześniejszego uwierzytelnienia.
▸ Pokaż oryginał (EN)
Donetick an open-source app for managing tasks and chores. Prior to version 0.1.44, the application uses JSON Web Tokens (JWT) for authentication, but the signing secret has a weak default value. While the responsibility is left to the system administrator to change it, this approach is inadequate. The vulnerability is proven by existence of the issue in the live version as well. This issue can result in full account takeover of any user. Version 0.1.44 contains a patch.
Donetick korzysta z tokenów JWT do uwierzytelniania użytkowników, jednak domyślna wartość sekretu używanego do podpisywania tokenów jest słaba i przewidywalna. Odpowiedzialność za jej zmianę spoczywa na administratorze systemu, co w praktyce okazuje się niewystarczające — co potwierdza fakt, że podatność była obecna również w działającej wersji produkcyjnej aplikacji. Znając lub odgadując sekret, atakujący może sfałszować dowolny token JWT i uwierzytelnić się jako wybrany użytkownik.
Atakujący nieposiadający żadnych uprawnień może sfałszować token JWT i przejąć pełną kontrolę nad dowolnym kontem użytkownika w aplikacji.
Należy zaktualizować aplikację Donetick do wersji 0.1.44, która zawiera patch eliminujący problem słabego domyślnego sekretu JWT. Instancje zaktualizowane przed wdrożeniem patcha powinny zostać sprawdzone pod kątem zmiany sekretu JWT na wartość silną i unikalną.
Donetick w wersjach przed 0.1.44
Opis wskazuje, że podatność była potwierdzona w działającej wersji produkcyjnej (live version) aplikacji, co sugeruje realną ekspozycję środowisk produkcyjnych przed wydaniem wersji 0.1.44.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NDonetick
APPDonetick< 0.1.44