CVE-2026-43948

Source
https://cve.org/CVERecord?id=CVE-2026-43948
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43948.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-43948
Aliases
Published
2026-05-12T20:47:23.906Z
Modified
2026-07-08T08:12:34.742178767Z
Severity
  • 9.9 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H CVSS Calculator
Summary
wger: cross-tenant password reset and plaintext disclosure via gym=None bypass
Details

wger is a free, open-source workout and fitness manager. Prior to 2.6, the resetuserpassword and gympermissionsuseredit 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.managegym 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.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43948.json",
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-863"
    ]
}
References

Affected packages

Git / github.com/wger-project/wger

Affected ranges

Type
GIT
Repo
https://github.com/wger-project/wger
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "source": "AFFECTED_FIELD",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "2.6"
        }
    ]
}

Affected versions

1.*
1.0
1.0.1
1.0.2
1.0.3
1.1
1.2
1.3
1.4
1.5
1.7
1.8
1.9
2.*
2.0
2.3
2.4
2.5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43948.json"