Jinja is an extensible templating engine. In versions on the 3.x branch prior to 3.1.5, a bug in the Jinja compiler allows an attacker that controls both the content and filename of a template to execute arbitrary Python code, regardless of if Jinjas sandbox is used. To exploit the vulnerability, an attacker needs to control both the filename and the contents 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 where the template author can also choose the template filename. This vulnerability is fixed in 3.1.5.
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as escape, meta, or control character sequences when they are sent to a downstream component.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Jinja2 | Ubuntu | devel | * |
Jinja2 | Ubuntu | esm-infra-legacy/trusty | * |
Jinja2 | Ubuntu | esm-infra/bionic | * |
Jinja2 | Ubuntu | esm-infra/xenial | * |
Jinja2 | Ubuntu | focal | * |
Jinja2 | Ubuntu | jammy | * |
Jinja2 | Ubuntu | noble | * |
Jinja2 | Ubuntu | oracular | * |
Jinja2 | Ubuntu | upstream | * |