GitHub Advisoryadvisory · PyPI
GHSA-cpwx-vrp4-4pq7 Jinja2 vulnerable to sandbox breakout through attr filter selecting format method
MEDIUM
Official page ↗
- Aliases
- CVE-2025-27516
- Ecosystem
- PyPI
- Packages
- Jinja2
- Severity
- Moderate
- CVSS vector
- 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
- Weaknesses
- CWE-1336
- Reviewed
- 2025-03-05
Affected packages
• PyPI Jinja2: < 3.1.6 → fixed in 3.1.6
Description
An oversight in how the Jinja sandboxed environment interacts with the `|attr` filter 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 use the `|attr` filter to get a reference to a string's plain format method, bypassing the sandbox. After the fix, the `|attr` filter no longer bypasses the environment's attribute lookup.
Related
Alias · CVE (1)
- CVE-2025-27516 Jinja is an extensible templating engine. vulnerability
Weakness · CWE (1)
- CWE-1336 Improper Neutralization of Special Elements Used in a Template Engine weakness
References
- https://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7 web
- https://nvd.nist.gov/vuln/detail/CVE-2025-27516 advisory
- https://github.com/pallets/jinja/commit/90457bbf33b8662926ae65cdde4c4c32e756e403 web
- https://github.com/pallets/jinja package
- https://lists.debian.org/debian-lts-announce/2025/04/msg00022.html web
- https://lists.debian.org/debian-lts-announce/2025/04/msg00045.html web