NewApp Monitoring is liveSign up free
AgentbeamBeta
Open-source package vulnerability · Go

CVE-2024-22199: Django Template Engine Vulnerable to XSS

criticalCVSS 3.1 9.3GHSA-4mq2-gc4j-cmw6

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