CVE-2026-45161

wger: trainer_login accepts GET - CSRF bypass enables forced session rebinding

State
Published
Severity
5.4 Medium
Published
Oct 7, 2026
Updated
Oct 7, 2026
Reserved
May 8, 2026

Read the record on cve.org

Description

wger is a free, open-source workout and fitness manager. Prior to version 2.6, the `trainer_login` view in wger accepts GET requests and executes `django_login()` without any CSRF protection, because Django's `CsrfViewMiddleware` only enforces tokens on unsafe methods (POST/PUT/PATCH/DELETE). An attacker can embed a single `<img>` tag on a malicious page; when an authenticated trainer loads that page, their browser auto-issues the GET with the session cookie, forcibly rebinding the trainer's session to an arbitrary user account. Version 2.6 fixes the issue.

Scores

CVSSScoreVectorSource
3.15.4 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:NGitHub_M

Weaknesses

  • CWE-352 Cross-Site Request Forgery (CSRF)

Affected Products

ProductVersions
wgerwger-project
  • < 2.6Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.