What’s Vulnerable › Vulnerabilities
CVE-2026-43948: wger: cross-tenant password reset and plaintext disclosure via gym=None bypass
- Severity: critical (CVSS 9.9 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-05-12 · updated 2026-06-17
- Weakness: CWE-863
Description
wger is a free, open-source workout and fitness manager. Prior to 2.6, the reset_user_password and gym_permissions_user_edit views in wger perform a gym-scope authorization check using Python object comparison (!=) that evaluates None != None as False, silently bypassing the guard when both the attacker and victim have no gym assignment (gym=None). A user with gym.manage_gym permission and gym=None can reset the password of any other gym=None user; the new plaintext password is returned verbatim in the HTML response body, enabling one-shot full account takeover. The victim's original password is invalidated, locking them out permanently. This vulnerability is fixed in 2.6.
Affected products
- wger-project wger: before 2.6
References
- https://github.com/wger-project/wger/security/advisories/GHSA-mhc8-p3jx-84mm
- https://github.com/wger-project/wger/security/advisories/GHSA-mhc8-p3jx-84mm
Get alerted when CVE-2026-43948 or the next vulnerability affects your stack