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).

Severity (CVSS 4.0)5.1Medium
Exploit odds (30 days)0.2%top 89.1% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

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

EcosystemPackageFixed inAdvisory
PyPIwgerno fix listedGHSA-6f54-qjvm-wwq3
PyPIwgerno fix listedPYSEC-2026-3419

Affected products (as reported)

VendorProductVersions
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