CVE-2022-22818 is a cross-site scripting vulnerability in Django's {% debug %} template tag. Django versions before 2.2.27, 3.2.12, and 4.0.2 do not properly encode values in the current template context when rendering debug output. Attacker-controlled context content can therefore be interpreted as active HTML or script by a browser rather than displayed as text.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a Django-based fuzzing framework designed to discover vulnerabilities (primarily XSS and template logic bugs) in the Django template engine. The core of the system is a grammarinator-based fuzzer that generates randomized HTML files containing Django template tags and context variables. These templates are rendered using Django, and the output is checked for the presence of JavaScript alerts (indicative of XSS) using Selenium WebDriver. Key components: - `runfuzz.py`: Main entry point. Orchestrates test generation, rendering, and bug detection. - `grammars/HTMLLexer.g4` and `grammars/HTMLParser.g4`: ANTLR grammars for parsing/generating HTML with Django template syntax. - `grammars/fuzzer/HTMLCustomGenerator.py`: Custom grammarinator generator for producing diverse template files. - `djangocontext.py`: Handles context extraction and template file manipulation. - `selen.py`: Uses Selenium to load rendered HTML files and detect JavaScript alerts. - `prepareactions.py`: Prepares the fuzzer and cleans up generated files. - Django project files (`mysite/`, `polls/`): Provide the environment for template rendering and context. The fuzzer is highly configurable and can be used to benchmark the effectiveness of different fuzzing strategies (see README and weights files). The system is not a simple detection script; it actively attempts to trigger vulnerabilities by generating and rendering potentially malicious templates. The main attack vectors are local (file-based template rendering) and web (HTML/JS execution in browser context). The repository is a proof-of-concept for automated template engine security testing.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
2 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A Django cross-site scripting vulnerability involving the {% debug %} template tag.
Possible cross-site scripting vulnerability in Django through the {% debug %} template tag.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.