{"id":"CVE-2026-86254","title":"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…","summary":"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…","severity":"medium","cvss":6.8,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H","cwe":["CWE-862"],"vendor":"wger-project","product":"wger","affected":["wger <= master"],"published":"2026-09-06","updated":"2026-09-08","sourceUpdated":"2026-09-08T19:59:42.500","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-86254","references":[{"url":"https://github.com/wger-project/wger/security/advisories/GHSA-mw8f-w6p8-xrf4","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/wger-incomplete-authorization-fix-cross-tenant-account-deletion","label":"disclosure@vulncheck.com"},{"url":"https://github.com/wger-project/wger/security/advisories/GHSA-mw8f-w6p8-xrf4","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"tags":["nvd","cve.org","exploit-available"],"epss":0.00218,"epssPercentile":0.12537,"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"partial","timestamp":"2026-09-08T13:32:54.776180Z"},"ingestedAt":"2026-09-07T04:04:50.673Z","slug":"CVE-2026-86254","body":"## Overview\n\nwger 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":49,"depthScoreParts":{"impact":37.4,"likelihood":0,"exploitation":12,"ransomware":0},"changes":[{"seq":5536,"id":"CVE-2026-86254","ts":1788887297464,"field":"exploit_available","old":"false","new":"true"},{"seq":4411,"id":"CVE-2026-86254","ts":1788886404740,"field":"exploit_available","old":"true","new":"false"},{"seq":3124,"id":"CVE-2026-86254","ts":1788883068619,"field":"exploit_available","old":"false","new":"true"},{"seq":2153,"id":"CVE-2026-86254","ts":1788882472612,"field":"exploit_available","old":"true","new":"false"},{"seq":297,"id":"CVE-2026-86254","ts":1788881646385,"field":"exploit_available","old":"false","new":"true"}]}