~ / search / GHSA-462w-v97r-4m45

GHSA-462w-v97r-4m45

Jinja2 sandbox escape via string formatting

Source: GitHub Advisory Database (reviewed) High CVE-2019-10906

Packages

EcosystemPackageAffectedFixed in
PyPI Jinja2 < 2.10.1 2.10.1

Details

As written in the advisory (Markdown source, shown as plain text).

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.

References

External links from the advisory. They lead to third-party sites.