Description
An issue was discovered in Jinja2 2.10. The from_string function is prone to Server Side Template Injection (SSTI) where it takes the "source" parameter as a template object, renders it, and then returns it. The attacker can exploit it with {{INJECTION COMMANDS}} in a URI. NOTE: The maintainer and multiple third parties believe that this vulnerability isn't valid because users shouldn't use untrusted templates without sandboxing
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | jinja2 | No fix yet | — |
| Debian 13 | jinja2 | No fix yet | — |
| Debian 12 | jinja2 | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 18.04 LTS | jinja2 | No fix yet | — |
| Ubuntu Pro 16.04 LTS | jinja2 | No fix yet | — |
| Ubuntu Pro 14.04 LTS | jinja2 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 | python-Jinja2 | 2.10.1-3.5.1 | SUSE-SU-2019:1156-1 |
| SLES 12 | python-Jinja2 | 2.8-19.20.1 | SUSE-SU-2020:3096-1 |
Show 11 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SUSE OpenStack Cloud Crowbar 9 | crowbar-core | 6.0+git.1606314264.bf9ada813-3.31.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | crowbar-openstack | 6.0+git.1604573541.bb18c172d-3.28.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | grafana | 6.7.4-3.20.1 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | influxdb | 1.3.8-4.3.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-cinder | 13.0.10~dev20-3.28.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-heat | 11.0.4~dev4-3.19.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-heat-gbp | 12.0.1~dev2-3.3.4 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-heat-templates | 0.0.0+git.1605509190.64f020b6-3.9.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-horizon-plugin-gbp-ui | 12.0.1~dev3-3.3.4 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-ironic-python-agent | 3.3.4~dev6-3.19.4 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-manila | 7.4.2~dev57-4.30.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-neutron | 13.0.8~dev135-3.31.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-neutron-gbp | 12.0.1~dev5-3.19.4 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-neutron-vpnaas | 13.0.2~dev6-3.9.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | openstack-nova | 18.3.1~dev77-3.31.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | python-Jinja2 | 2.10.1-3.3.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | python-pysaml2 | 4.5.0-4.3.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | python-pytest | 3.7.4-3.3.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | python-urllib3 | 1.23-3.15.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | release-notes-suse-openstack-cloud | 9.20200917-3.24.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud Crowbar 9 | spark | 2.2.3-5.3.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | ardana-cassandra | 9.0+git.1600802664.7e480a2-3.6.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | ardana-mq | 9.0+git.1605174486.a78ddce-3.19.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | ardana-osconfig | 9.0+git.1601621747.a87e5a0-3.22.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | ardana-tempest | 9.0+git.1603378983.fc0bca9-3.19.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | grafana | 6.7.4-3.20.1 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | influxdb | 1.3.8-4.3.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-cinder | 13.0.10~dev20-3.28.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-heat | 11.0.4~dev4-3.19.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-heat-gbp | 12.0.1~dev2-3.3.4 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-heat-templates | 0.0.0+git.1605509190.64f020b6-3.9.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-horizon-plugin-gbp-ui | 12.0.1~dev3-3.3.4 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-ironic-python-agent | 3.3.4~dev6-3.19.4 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-manila | 7.4.2~dev57-4.30.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-neutron | 13.0.8~dev135-3.31.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-neutron-gbp | 12.0.1~dev5-3.19.4 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-neutron-vpnaas | 13.0.2~dev6-3.9.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | openstack-nova | 18.3.1~dev77-3.31.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | python-Jinja2 | 2.10.1-3.3.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | python-pysaml2 | 4.5.0-4.3.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | python-pytest | 3.7.4-3.3.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | python-urllib3 | 1.23-3.15.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | release-notes-suse-openstack-cloud | 9.20200917-3.24.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | spark | 2.2.3-5.3.3 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-barbican | 7.0.1~dev24-3.21.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-cinder | 13.0.10~dev20-3.24.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-designate | 7.0.2~dev2-3.21.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-glance | 17.0.1~dev30-3.19.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-heat | 11.0.4~dev4-3.21.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-horizon | 14.1.1~dev7-4.23.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-ironic | 11.1.5~dev16-4.19.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-keystone | 14.2.1~dev4-3.21.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-magnum | 7.2.1~dev1-4.21.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-manila | 7.4.2~dev57-3.25.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-monasca | 2.7.1~dev10-3.19.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-monasca-ceilometer | 1.8.2~dev3-3.21.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-neutron | 13.0.8~dev135-6.23.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-nova | 18.3.1~dev77-3.23.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-octavia | 3.2.3~dev7-4.21.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-sahara | 9.0.2~dev15-3.21.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 9 | venv-openstack-swift | 2.19.2~dev48-2.16.2 | SUSE-SU-2020:3897-1 |
| SUSE OpenStack Cloud 7 | python-Jinja2 | 2.8-22.8.1 | SUSE-SU-2019:1554-1 |
| SUSE Manager Server 3.2 | python-Jinja2 | 2.8-22.8.1 | SUSE-SU-2019:1554-1 |
| SUSE Manager Server 3.1 | python-Jinja2 | 2.8-22.8.1 | SUSE-SU-2019:1554-1 |
| SUSE Manager Proxy 3.2 | python-Jinja2 | 2.8-22.8.1 | SUSE-SU-2019:1554-1 |
| SUSE Manager Proxy 3.1 | python-Jinja2 | 2.8-22.8.1 | SUSE-SU-2019:1554-1 |
| SUSE Manager Client Tools 12 | python-Jinja2 | 2.8-19.20.1 | SUSE-SU-2020:3096-1 |
| SUSE Linux Enterprise Point of Sale 12 SP2 | python-Jinja2 | 2.8-22.8.1 | SUSE-SU-2019:1554-1 |
| SUSE Enterprise Storage 5 | python-Jinja2 | 2.8-22.8.1 | SUSE-SU-2019:1554-1 |
| SUSE Enterprise Storage 4 | python-Jinja2 | 2.8-22.8.1 | SUSE-SU-2019:1554-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.0 | python-Jinja2 | 2.10.1-lp150.2.3.1 | openSUSE-SU-2019:1395-1 |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Exploit-DB 1
- Jinja2 2.10 - 'from_string' Server Side Template Injection EDB-46386 · webapps · Feb 15, 2019
GitHub 1 repository
-
adindrabkin/llama_facts ★ 0 · Dec 24, 2021
Web application vulnerable to Python3 Flask SSTI (CVE-2019-8341)
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Advisories 5
- SUSE-SU-2019:1156-1 Security update for python-Jinja2 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:1554-1 Security update for python-Jinja2 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:3897-1 Security update for ardana-cassandra, ardana-mq, ardana-osconfig, ardana-tempest, crowbar-core, crowbar-openstack, grafana, influxdb, openstack-cinder, openstack-heat, openstack-heat-gbp, openstack-heat-templates, openstack-horizon-plugin-gbp-ui, openstack-ironic-python-agent, openstack-manila, openstack-neutron, openstack-neutron-gbp, openstack-neutron-vpnaas, openstack-nova, python-Jinja2, python-pysaml2, python-pytest, python-urllib3, release-notes-suse-openstack-cloud, spark SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2019:1395-1 Security update for python-Jinja2 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:3096-1 Security update for python-Jinja2 SUSE / openSUSE Security Updates · Feb 4, 2026