Vulnerability · Published Apr 17, 2026 · Assigned by GitHub_M
CVE-2026-40353wger: Stored XSS via Unescaped License Attribution Fields
Medium 5.1
In plain English
A medium-severity cross-site scripting in wger from wger-project. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 11% of all known vulnerabilities).
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| PyPI | wger | no fix listed | GHSA-6f54-qjvm-wwq3 |
| PyPI | wger | no fix listed | PYSEC-2026-3419 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| wger-project | wger | < 2.5 |
Weakness: CWE-79 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
References
- https://github.com/wger-project/wger/security/advisories/GHSA-6f54-qjvm-wwq3 x_refsource_CONFIRM
- https://github.com/wger-project/wger/releases/tag/2.5 x_refsource_MISC