Skip to main content
VulnerabilityPublished Updated

CVE-2024-56326: Jinja2 · Jinja has a sandbox breakout through indirect reference to format method

Affects jinja2Source GCVE Database

0
Compare
Authoritative record:CVE-2024-56326· Medium 5.4

Not known to be exploited · CVSS 5.4 Medium : upgrade to 3.1.5 when convenient.

Data as of 29 Oct 2026, 22:52 UTC

CVSS 4.0 base score
5.4Medium
How severe the flaw is on the 0–10 CVSS scale.

Contested

Scorers differ by 2 or more points
CVSS scores by source
CNA (GitHub_M)CVSS 4.05.4
CISA-ADPCVSS 3.17.8
Patch
Available – fixed in 3.1.5
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 23 Dec 2024

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.

What to do

Upgrade jinja2 to 3.1.5.

Affected software

ProductAffectedFixed in
PyPIjinja2Affected
  • <3.1.5
Fixed in
  • 3.1.5

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

Description

An oversight in how the Jinja sandboxed environment detects calls to `str.format` allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker needs to control the content of a template. Whether that is the case depends on the type of application using Jinja. This vulnerability impacts users of applications which execute untrusted templates. Jinja's sandbox does catch calls to `str.format` and ensures they don't escape the sandbox. However, it's possible to store a reference to a malicious string's `format` method, then pass that to a filter that calls it. No such filters are built-in to Jinja, but could be present through custom filters in an application. After the fix, such indirect calls are also handled by the sandbox.

References

Community reviews

Loading reviews…