high7.6
CVE-2026-40474
wger has Broken Access Control in Global Gym Configuration Update Endpoint
Impact
wger is a free, open-source workout and fitness manager. In versions 2.5 and below, the GymConfigUpdateView declares permission_required = 'config.change_gymconfig' but inherits WgerFormMixin instead of WgerPermissionMixin, so the permission is never enforced at runtime. Since GymConfig is an ownerless singleton, any authenticated user can modify the global gym configuration, triggering save() side effects that bulk-update user profile gym assignments — a vertical privilege escalation to installation-wide configuration control. This issue is fixed in version 2.5.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | wger | <= 2.1 | none recorded |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Wger | Wger | before 2.5 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-xppv-4jrx-qf8m
- https://github.com/wger-project/wger/security/advisories/GHSA-xppv-4jrx-qf8m
- https://nvd.nist.gov/vuln/detail/CVE-2026-40474
- https://github.com/wger-project/wger/commit/47ee5af93b3ced24b9f94b0a8b9296b50bc9523f
- https://github.com/wger-project/wger/releases/tag/2.5