CVE-2026-40353
published 2026-04-17CVE-2026-40353: 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…
PriorityP427medium5.4CVSS 3.1
AVNACLPRLUIRSCCLILAN
EPSS
0.21%
10.9th percentile
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
3 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| wger-project | wger | < 2.5 | 2.5 |
| wger | wger | < 2.5 | 2.5 |
| wger | wger | 0 – 2.4 | — |
CVSS provenance
nvdv3.15.4MEDIUMCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
nvdv4.05.1MEDIUMCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
VulDB
wger-project wger up to 2.4 attribution_link license_author cross site scripting
vuldb·2026-04-17·CVSS 5.1
CVE-2026-40353 [MEDIUM] wger-project wger up to 2.4 attribution_link license_author cross site scripting
A vulnerability labeled as problematic has been found in wger-project wger up to 2.4. This vulnerability affects the function attribution_link. Such manipulation of the argument license_author leads to cross site scripting.
This vulnerability is referenced as CVE-2026-40353. It is possible to launch the attack remotely. No exploit is available.
The affected component should be upgraded.
GHSA
wger has Stored XSS via Unescaped License Attribution Fields
ghsa·2026-04-16
CVE-2026-40353 [MEDIUM] CWE-79 wger has Stored XSS via Unescaped License Attribution Fields
wger has Stored XSS via Unescaped License Attribution Fields
# Stored XSS via Unescaped License Attribution Fields
## Summary
The `AbstractLicenseModel.attribution_link` property in `wger/utils/models.py` constructs HTML strings by directly interpolating user-controlled fields (`license_author`, `license_title`, `license_object_url`, `license_author_url`, `license_derivative_source_url`) without any escaping. The resulting HTML is rendered in the ingredient view template using Django's `|safe` filter, which disables auto-escaping. An authenticated user can create an ingredient with a malicious `license_author` value containing JavaScript, which executes when any user (including unauthenticated visitors) views the ingredient page.
## Severity
**High** (CVSS 3.1: ~7.6)
- Low-privilege
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
2026-04-17
Published