GitHub Advisoryadvisory · PyPI

GHSA-462w-v97r-4m45 Jinja2 sandbox escape via string formatting

HIGH Published 2019-04-10 Modified 2024-09-24 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