CVE-2024-22199: Django Template Engine Vulnerable to XSS
Impact Vulnerability Type: Cross-Site Scripting (XSS) Affected Users: All users of the Django template engine for Fiber prior to the patch. This vulnerability specifically impacts web applications that render user-supplied data through this template engine, potentially leading to the execution of malicious scripts in users' browsers when visiting affected web pages. Patches The vulnerability has been addressed.
Published Jan 11, 2024
Affected packages
github.com/gofiber/template/django/v3
- Ecosystem
- Go
- Affected
- < 3.1.9
- Fixed in
- 3.1.9
- Check
go list -m github.com/gofiber/template/django/v3
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Impact
Vulnerability Type: Cross-Site Scripting (XSS) Affected Users: All users of the Django template engine for Fiber prior to the patch. This vulnerability specifically impacts web applications that render user-supplied data through this template engine, potentially leading to the execution of malicious scripts in users' browsers when visiting affected web pages.
Patches
The vulnerability has been addressed. The template engine now defaults to having autoescape set to true, effectively mitigating the risk of XSS attacks. Users are advised to upgrade to the latest version of the Django template engine for Fiber, where this security update is implemented. Ensure that the version of the template engine being used is the latest, post-patch version.
Workarounds
For users unable to upgrade immediately to the patched version, a workaround involves manually implementing autoescaping within individual Django templates. This method includes adding specific tags in the template to control autoescape behavior:
{% autoescape on %}
{{ "<script>alert('xss');</script>" }}
{% endautoescape %}References
- Official documentation of the Django template engine for Fiber: https://docs.gofiber.io/template/django/
- Django built-in template tags: https://docs.djangoproject.com/en/5.0/ref/templates/builtins/
Credited to bastianwegge, sixcolors, gaby, ReneWerner87, efectn.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
