CVE-2026-86254

wger Incomplete Authorization Fix Cross-Tenant Account Deletion

State
Published
Severity
6.1 Medium
Published
Sep 6, 2026
Updated
Sep 8, 2026
Reserved
Sep 6, 2026

Read the record on cve.org

Description

wger versions through master contain an incomplete authorization bypass in wger/core/views/user.py where three views retain the original gym-scope check using raw integer comparison instead of the is_same_gym() helper, allowing gym staff with gym=None to delete, deactivate, or activate any other user with gym=None. Attackers with gym.manage_gym permission and gym=None affiliation can permanently delete user accounts, lock users out via deactivation, or undo defensive deactivations by exploiting the None != None comparison edge case.

Scores

CVSSScoreVectorSource
4.06.1 MediumCVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:NVulnCheck
3.16.8 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:HVulnCheck

Weaknesses

Affected Products

ProductVersions
wgerwger-project
  • master and earlierAffected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.