GitHub Advisoryadvisory · PyPI
GHSA-462w-v97r-4m45 Jinja2 sandbox escape via string formatting
HIGH
Official page ↗
- Aliases
- CVE-2019-10906
- Ecosystem
- PyPI
- Packages
- Jinja2
- Severity
- High
- CVSS vector
- CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
- Weaknesses
- CWE-693
- Reviewed
- 2020-06-16
Affected packages
• PyPI Jinja2: < 2.10.1 → fixed in 2.10.1
Description
In Pallets Jinja before 2.10.1, `str.format_map` allows a sandbox escape.
The sandbox is used to restrict what code can be evaluated when rendering untrusted, user-provided templates. Due to the way string formatting works in Python, the `str.format_map` method could be used to escape the sandbox.
This issue was previously addressed for the `str.format` method in Jinja 2.8.1, which discusses the issue in detail. However, the less-common `str.format_map` method was overlooked. This release applies the same sandboxing to both methods.
If you cannot upgrade Jinja, you can override the `is_safe_attribute` method on the sandbox and explicitly disallow the `format_map` method on string objects.
Related
Alias · CVE (1)
- CVE-2019-10906 In Pallets Jinja before 2.10.1, str.format_map allows a sandbox escape. vulnerability
Weakness · CWE (1)
- CWE-693 Protection Mechanism Failure weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2019-10906 advisory
- https://usn.ubuntu.com/4011-2 web
- https://usn.ubuntu.com/4011-1 web
- https://palletsprojects.com/blog/jinja-2-10-1-released web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/TS7IVZAJBWOHNRDMFJDIZVFCMRP6YIUQ web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/QCDYIS254EJMBNWOG4S5QY6AOTOR4TZU web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/DSW3QZMFVVR7YE3UT4YRQA272TYAL5AF web
- https://lists.apache.org/thread.html/f0c4a03418bcfe70c539c5dbaf99c04c98da13bfa1d3266f08564316@%3Ccommits.airflow.apache.org%3E web
- https://lists.apache.org/thread.html/b2380d147b508bbcb90d2cad443c159e63e12555966ab4f320ee22da@%3Ccommits.airflow.apache.org%3E web
- https://lists.apache.org/thread.html/7f39f01392d320dfb48e4901db68daeece62fd60ef20955966739993@%3Ccommits.airflow.apache.org%3E web
- https://lists.apache.org/thread.html/57673a78c4d5c870d3f21465c7e2946b9f8285c7c57e54c2ae552f02@%3Ccommits.airflow.apache.org%3E web
- https://lists.apache.org/thread.html/46c055e173b52d599c648a98199972dbd6a89d2b4c4647b0500f2284@%3Cdevnull.infra.apache.org%3E web
- https://lists.apache.org/thread.html/320441dccbd9a545320f5f07306d711d4bbd31ba43dc9eebcfc602df@%3Cdevnull.infra.apache.org%3E web
- https://lists.apache.org/thread.html/2b52b9c8b9d6366a4f1b407a8bde6af28d9fc73fdb3b37695fd0d9ac@%3Cdevnull.infra.apache.org%3E web
- https://lists.apache.org/thread.html/09fc842ff444cd43d9d4c510756fec625ef8eb1175f14fd21de2605f@%3Cdevnull.infra.apache.org%3E web
- https://github.com/pypa/advisory-database/tree/main/vulns/jinja2/PYSEC-2019-217.yaml web
- https://github.com/pallets/jinja package
- https://github.com/advisories/GHSA-462w-v97r-4m45 advisory
- https://access.redhat.com/errata/RHSA-2019:1329 web
- https://access.redhat.com/errata/RHSA-2019:1237 web
- https://access.redhat.com/errata/RHSA-2019:1152 web
- http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00030.html web
- http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00064.html web