CVE-2026-43948 json
wger: cross-tenant password reset and plaintext disclosure via gym=None bypass
published 2026-05-06 6 mo ago modified 2026-07-13 3 mo ago also EUVD-2026-29833 , GHSA-mhc8-p3jx-84mm , PYSEC-2026-574
- cvss
- 9.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 31%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi wger 2.6
- wger wger 2.6
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 5 mo ago
Exploit prediction
0.37% chance of exploitation in the next 30 days, higher than 31% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/wger-project/wger/security/advisories/GHSA-mhc8-p3jx-84mm referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| GitHub | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| OSV | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | wger | <2.6 |
2.6 |
Affected products
- wger-project wger
Classification
- Weakness
-
- CWE-863 Incorrect Authorization
References
-
github.com
/wger-project/wger/security/advisories/GHSA-mhc8-p3jx-84mm
exploit, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-43948
advisory
-
github.com
/wger-project/wger
package
-
pypi.org
/project/wger
package
-
github.com
/advisories/GHSA-mhc8-p3jx-84mm
advisory
Sources
- CVE List CVE-2026-43948
- GitHub Advisory GHSA-mhc8-p3jx-84mm
- NVD CVE-2026-43948
- OSV PYSEC-2026-574
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.