Description
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.
Problem types
CWE-284: Improper Access Control
CWE-862: Missing Authorization
Product status
References
github.com/...t/wger/security/advisories/GHSA-xppv-4jrx-qf8m
github.com/...ommit/47ee5af93b3ced24b9f94b0a8b9296b50bc9523f
github.com/wger-project/wger/releases/tag/2.5