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.
{
"nvd_published_at": "2019-04-07T00:29:00Z",
"cwe_ids": [
"CWE-693"
],
"severity": "HIGH",
"github_reviewed_at": "2020-06-16T20:57:35Z",
"github_reviewed": true
}