| 제목 | wger-project (https://github.com/wger-project (https://github.co wger Workout Manager 2.6.0-alpha2 (master branch, commit ea78447) ss CWE-352 (Cross-Site Request Forgery — GET-based state change) |
|---|
| 설명 | wger Workout Manager has multiple security vulnerabilities: (1) [HIGH] GET-based CSRF on password reset & account deactivation — reset_user_password() and UserDeactivateView.get_redirect_url() perform state-changing operations (password reset, is_active toggle) on GET requests with no @require_POST or CSRF protection; an attacker can trick an authenticated gym admin into visiting a crafted URL to reset a user's password or deactivate/reactivate an account. (2) [HIGH] IDOR — Missing ownership check on gallery images — ImageUpdateView and ImageDeleteView only require authentication without verifying the image belongs to the current user; any authenticated user can edit or delete any other user's gallery images by supplying a different image PK in the URL. (3) [HIGH] JWT token not revoked on user deactivation — UserDeactivateView sets is_active=False but does not call blacklist_jwt_refresh_tokens(), so deactivated users can still obtain new access tokens via their existing refresh tokens and continue using the API. (4) [HIGH] JWT token not revoked on password reset — reset_user_password() changes the password without calling blacklist_jwt_refresh_tokens(), so an attacker holding a compromised JWT can continue accessing the account even after the password is changed. |
|---|
| 원천 | ⚠️ https://github.com/wger-project/wger/issues/2380 |
|---|
| 사용자 | Galaxyn (UID 98388) |
|---|
| 제출 | 2026. 07. 15. AM 02:19 (2 개월 ago) |
|---|
| 모더레이션 | 2026. 08. 29. PM 07:50 (2 months later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 397061 [wger-project wger 까지 2.6.0-alpha2 Password Reset wger/gym/views/gym.py reset_user_password 교차 사이트 요청 위조] |
|---|
| 포인트들 | 20 |
|---|