Description
wger is a free, open-source workout and fitness manager. Prior to version 2.6, an authenticated attacker can inject arbitrary workout log entries into any other user's `SlotEntry` by supplying the victim's `slot_entry` ID in a `POST /api/v2/workoutlog/` request. The `slot_entry` foreign key is not included in the ownership verification performed by `WorkoutLogViewSet.get_owner_objects()`, so the server accepts and persists the cross-user reference without error. Because `SlotEntry.get_config_data()` retrieves associated logs via `self.workoutlog_set.all()` with no user filter, the attacker's injected data is silently folded into the victim's progressive-overload calculations, corrupting their auto-generated weight and repetition targets. Version 2.6 contains a patch.
Published: 2026-10-07
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Cross‑user data corruption via missing ownership check
Action: Apply patch
AI Analysis

Impact

wger is an open-source fitness manager that stores workout logs in a relational database. The flaw allows an authenticated user to insert a workout entry that references another user's SlotEntry by posting a malicious payload to the /api/v2/workoutlog/ endpoint. Because the server does not check that the supplied slot_entry belongs to the requester, it accepts and persists the foreign key. The victim’s progressive‑overload logic then incorporates the injected data, altering weight and repetition targets and corrupting the user’s session data.

Affected Systems

All wger installations running a version older than 2.6 are vulnerable. Any deployment of the wger workout management platform that has not applied the 2.6 release or later is susceptible to this data integrity issue.

Risk and Exploitability

The CVSS score of 6.5 represents moderate severity. The vulnerability is not listed in the CISA KEV catalog and no EPSS score is available. An attacker must be authenticated and must know the victim’s SlotEntry ID to exploit the flaw; consequently, the threat is most relevant to insider or compromised accounts. The missing ownership check is the root weakness, identified by CWE‑639 and CWE‑862.

Generated by OpenCVE AI on October 7, 2026 at 16:05 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade wger to version 2.6 or later to restore the ownership check in the workoutlog API.
  • Modify the workoutlog API to validate that a provided slot_entry ID belongs to the authenticated user before creating the record.
  • Temporarily disable or restrict the POST /api/v2/workoutlog/ endpoint for all users until the patch is applied.

Generated by OpenCVE AI on October 7, 2026 at 16:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-rjpf-7pf5-q54x wger: Cross-User Data Corruption via Missing Ownership Check on WorkoutLog.slot_entry
History

Wed, 07 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 07 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
First Time appeared Wger-project
Wger-project wger
Vendors & Products Wger-project
Wger-project wger

Wed, 07 Oct 2026 14:15:00 +0000

Type Values Removed Values Added
Description wger is a free, open-source workout and fitness manager. Prior to version 2.6, an authenticated attacker can inject arbitrary workout log entries into any other user's `SlotEntry` by supplying the victim's `slot_entry` ID in a `POST /api/v2/workoutlog/` request. The `slot_entry` foreign key is not included in the ownership verification performed by `WorkoutLogViewSet.get_owner_objects()`, so the server accepts and persists the cross-user reference without error. Because `SlotEntry.get_config_data()` retrieves associated logs via `self.workoutlog_set.all()` with no user filter, the attacker's injected data is silently folded into the victim's progressive-overload calculations, corrupting their auto-generated weight and repetition targets. Version 2.6 contains a patch.
Title wger: Cross-User Data Corruption via Missing Ownership Check on WorkoutLog.slot_entry
Weaknesses CWE-639
CWE-862
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N'}


Subscriptions

Wger-project Wger
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-07T18:00:21.494Z

Reserved: 2026-05-13T22:18:22.830Z

Link: CVE-2026-46438

cve-icon Vulnrichment

Updated: 2026-10-07T17:59:23.076Z

cve-icon NVD

Status : Deferred

Published: 2026-10-07T14:17:10.650

Modified: 2026-10-07T19:17:37.280

Link: CVE-2026-46438

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T16:15:18Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key

  • CWE-862

    Missing Authorization