wger: Stored XSS via Unescaped License Attribution Fields
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
wger is a free, open-source workout and fitness manager. In versions 2.5 and below, the attribution_link property in AbstractLicenseModel constructs HTML by directly interpolating user-controlled license fields (such as license_author) without escaping, and templates render the result using Django's |safe filter. An authenticated user can create an ingredient with a malicious license_author value containing JavaScript, which executes in the browser of any visitor viewing the ingredient page, resulting in stored XSS. This issue has been fixed in version 2.5.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| wger-project | wger | before 2.5 | 2.5 | Patch available | CNA |
| — | wger (PyPI) | up to 2.4 | — | No fix listed | GHSA-6f54-qjvm-wwq3 |
- wger Vendorwger-project Affected before 2.5 Fixed in 2.5 Patch available CNA
- wger (PyPI) Vendor— Affected up to 2.4 Fixed in — No fix listed GHSA-6f54-qjvm-wwq3
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:wger:wger:*:*:*:*:*:*:*:* | before 2.5 | Vulnerable | wger-project |
- cpe:2.3:a:wger:wger:*:*:*:*:*:*:*:* Versions before 2.5 Vulnerable ·wger-project
Remediation
- Fix · CNA wger (wger-project) Fixed in 2.5
Timeline
- 2026-10-02 Threatist record created from CVE-2026-40353
- 2026-10-03 Alias added: GHSA-6f54-qjvm-wwq3
References
More wger-project Wger vulnerabilities
- TI-2022-02450 Improper Restriction of Excessive Authentication Attempts in wger-project/wger CVSS 3.1CRITICAL 9.8
- TI-2026-29226 wger has Broken Access Control in the Global Gym Configuration Update Endpoint CVSS 3.1HIGH 7.6
- TI-2026-22190 wger: IDOR in nutritional_values endpoints exposes private dietary data via direct ORM lookup CVSS 3.1MEDIUM 4.3
- TI-2026-22186 wger: IDOR in RepetitionsConfig and MaxRepetitionsConfig API leak other users' workout data CVSS 3.1MEDIUM 4.3
- TI-2026-22189 wger: IDOR via user-unscoped cache keys on routine API actions exposes workout data CVSS 3.1LOW 3.5
Sources
- CVE-2026-40353 · CVE Program
- CVE-2026-40353 · NVD
- FIRST EPSS
- GHSA-6f54-qjvm-wwq3 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences