OESA-2024-1128 (CVE-2024-22195)
Vulnerability from osv_openeuler – Published: 2024-02-02 11:06 – Updated: 2026-08-06 11:06 – Source websiteJinja2 is one of the most used template engines for Python. It is inspired by Django's templating system but extends it with an expressive language that gives template authors a more powerful set of tools. On top of that it adds sandboxed execution and optional automatic escaping for applications where security is important.
Security Fix(es):
Jinja is an extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax. It is possible to inject arbitrary HTML attributes into the rendered HTML template, potentially leading to Cross-Site Scripting (XSS). The Jinja xmlattr filter can be abused to inject arbitrary HTML attribute keys and values, bypassing the auto escaping mechanism and potentially leading to XSS. It may also be possible to bypass attribute validation checks if they are blacklist-based.
(CVE-2024-22195)
| URL | Type | |
|---|---|---|
{
"affected": [
{
"ecosystem_specific": {
"noarch": [
"python-jinja2-help-2.11.2-6.oe1.noarch.rpm",
"python2-jinja2-2.11.2-6.oe1.noarch.rpm",
"python3-jinja2-2.11.2-6.oe1.noarch.rpm"
],
"src": [
"python-jinja2-2.11.2-6.oe1.src.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS-SP1",
"name": "python-jinja2",
"purl": "pkg:rpm/openEuler/python-jinja2\u0026distro=openEuler-20.03-LTS-SP1"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.11.2-6.oe1"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"noarch": [
"python-jinja2-help-2.11.2-6.oe2003sp4.noarch.rpm",
"python2-jinja2-2.11.2-6.oe2003sp4.noarch.rpm",
"python3-jinja2-2.11.2-6.oe2003sp4.noarch.rpm"
],
"src": [
"python-jinja2-2.11.2-6.oe2003sp4.src.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS-SP4",
"name": "python-jinja2",
"purl": "pkg:rpm/openEuler/python-jinja2\u0026distro=openEuler-20.03-LTS-SP4"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.11.2-6.oe2003sp4"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"noarch": [
"python3-jinja2-3.0.3-3.oe2203.noarch.rpm",
"python-jinja2-help-3.0.3-3.oe2203.noarch.rpm",
"python3-jinja2-3.0.3-3.oe2203sp1.noarch.rpm",
"python-jinja2-help-3.0.3-3.oe2203sp1.noarch.rpm",
"python3-jinja2-3.0.3-3.oe2203sp2.noarch.rpm",
"python-jinja2-help-3.0.3-3.oe2203sp2.noarch.rpm",
"python3-jinja2-3.0.3-3.oe2203sp3.noarch.rpm",
"python-jinja2-help-3.0.3-3.oe2203sp3.noarch.rpm"
],
"src": [
"python-jinja2-3.0.3-3.oe2203.src.rpm",
"python-jinja2-3.0.3-3.oe2203sp1.src.rpm",
"python-jinja2-3.0.3-3.oe2203sp2.src.rpm",
"python-jinja2-3.0.3-3.oe2203sp3.src.rpm"
]
},
"package": {
"ecosystem": "openEuler:22.03-LTS",
"name": "python-jinja2",
"purl": "pkg:rpm/openEuler/python-jinja2\u0026distro=openEuler-22.03-LTS"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.3-3.oe2203sp3"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"noarch": [
"python3-jinja2-3.0.3-3.oe2203sp1.noarch.rpm",
"python-jinja2-help-3.0.3-3.oe2203sp1.noarch.rpm"
],
"src": [
"python-jinja2-3.0.3-3.oe2203sp1.src.rpm"
]
},
"package": {
"ecosystem": "openEuler:22.03-LTS-SP1",
"name": "python-jinja2",
"purl": "pkg:rpm/openEuler/python-jinja2\u0026distro=openEuler-22.03-LTS-SP1"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.3-3.oe2203sp1"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"noarch": [
"python3-jinja2-3.0.3-3.oe2203sp2.noarch.rpm",
"python-jinja2-help-3.0.3-3.oe2203sp2.noarch.rpm"
],
"src": [
"python-jinja2-3.0.3-3.oe2203sp2.src.rpm"
]
},
"package": {
"ecosystem": "openEuler:22.03-LTS-SP2",
"name": "python-jinja2",
"purl": "pkg:rpm/openEuler/python-jinja2\u0026distro=openEuler-22.03-LTS-SP2"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.3-3.oe2203sp2"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"noarch": [
"python3-jinja2-3.0.3-3.oe2203sp3.noarch.rpm",
"python-jinja2-help-3.0.3-3.oe2203sp3.noarch.rpm"
],
"src": [
"python-jinja2-3.0.3-3.oe2203sp3.src.rpm"
]
},
"package": {
"ecosystem": "openEuler:22.03-LTS-SP3",
"name": "python-jinja2",
"purl": "pkg:rpm/openEuler/python-jinja2\u0026distro=openEuler-22.03-LTS-SP3"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.3-3.oe2203sp3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"severity": "Medium"
},
"details": "Jinja2 is one of the most used template engines for Python. It is inspired by Django\u0026apos;s templating system but extends it with an expressive language that gives template authors a more powerful set of tools. On top of that it adds sandboxed execution and optional automatic escaping for applications where security is important.\r\n\r\nSecurity Fix(es):\r\n\r\nJinja is an extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax. It is possible to inject arbitrary HTML attributes into the rendered HTML template, potentially leading to Cross-Site Scripting (XSS). The Jinja `xmlattr` filter can be abused to inject arbitrary HTML attribute keys and values, bypassing the auto escaping mechanism and potentially leading to XSS. It may also be possible to bypass attribute validation checks if they are blacklist-based.\n(CVE-2024-22195)",
"id": "OESA-2024-1128",
"modified": "2026-08-06T11:06:34Z",
"published": "2024-02-02T11:06:34Z",
"references": [
{
"type": "ADVISORY",
"url": "https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1128"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-22195"
}
],
"schema_version": "1.7.2",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "python-jinja2 security update",
"upstream": [
"CVE-2024-22195"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.