Description
wger is a free, open-source workout and fitness manager. In versions prior to 2.6, any authenticated user can read another user's private workout session notes, exercise history, and training statistics by calling the /logs/ and /stats/ actions on a routine they do not own. The vulnerability exists in RoutineViewSet (wger/manager/api/views.py). The view defines two custom actions /logs/ and /stats/ that are intended to return data for the requesting user's own training history within a routine. However, the underlying permission check (RoutinePermission.has_object_permission) grants read access to any authenticated user when the routine has is_template=True, regardless of ownership. When the /logs/ or /stats/ actions are invoked against a routine the attacker does not own, they return the owner's private workout history, not the attacker's. This issue has been fixed in version 2.6.
Published: 2026-07-16
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

wger is a free, open‑source workout and fitness manager. In all releases prior to 2.6, any authenticated user can read another user’s private workout session notes, exercise history, and training statistics by invoking the /logs/ and /stats/ actions on a routine they do not own. The flaw originates in RoutineViewSet, where the permission check grants read access to any authenticated user when the routine has is_template = True, regardless of ownership. Consequently, a user can retrieve the owner’s private workout history instead of their own. The vulnerability does not compromise system integrity or availability, but it exposes sensitive personal data. The issue has been corrected in version 2.6.

Affected Systems

The vulnerability affects the wger-project wger application in all releases earlier than version 2.6. Any installation using those earlier versions exposes the private workout data of users who mark a routine as a template.

Risk and Exploitability

The CVSS score of 7.5 indicates moderate to high severity. The EPSS score of less than 1 % suggests exploitation is currently unlikely. The vulnerability is not included in the CISA KEV catalog. Attackers must be authenticated and invoke the /logs/ or /stats/ API endpoints with a routine that is marked as a template and not owned by them. The vulnerability exploits the application’s normal API path and does not require any special privileges beyond authentication.

Generated by OpenCVE AI on July 31, 2026 at 01:09 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to wger version 2.6 or later to correct the permission logic.
  • Restrict or disable the /logs/ and /stats/ actions for template routines until the fix is applied.
  • Monitor application logs for unexpected or unauthorized use of the /logs/ and /stats/ endpoints on template routines.

Generated by OpenCVE AI on July 31, 2026 at 01:09 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-cj9g-27ph-4cgv wger Vulnerable to IDOR: Authenticated Users Can Read Any User's Private Workout Session Data via Template Routine API
History

Fri, 17 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Fri, 17 Jul 2026 00:15:00 +0000

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

Thu, 16 Jul 2026 22:30:00 +0000

Type Values Removed Values Added
Description wger is a free, open-source workout and fitness manager. In versions prior to 2.6, any authenticated user can read another user's private workout session notes, exercise history, and training statistics by calling the /logs/ and /stats/ actions on a routine they do not own. The vulnerability exists in RoutineViewSet (wger/manager/api/views.py). The view defines two custom actions /logs/ and /stats/ that are intended to return data for the requesting user's own training history within a routine. However, the underlying permission check (RoutinePermission.has_object_permission) grants read access to any authenticated user when the routine has is_template=True, regardless of ownership. When the /logs/ or /stats/ actions are invoked against a routine the attacker does not own, they return the owner's private workout history, not the attacker's. This issue has been fixed in version 2.6.
Title wger IDOR: Authenticated Users Can Read Others' Private Workout Session Data via Template Routine API
Weaknesses CWE-639
CWE-863
References
Metrics cvssV3_1

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


Subscriptions

Wger-project Wger
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-17T13:14:37.507Z

Reserved: 2026-05-04T20:24:31.916Z

Link: CVE-2026-43977

cve-icon Vulnrichment

Updated: 2026-07-17T13:13:13.162Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T01:15:18Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key

  • CWE-863

    Incorrect Authorization