CVE-2024-41950 json
Insecure Jinja2 templates rendered in Haystack Components can lead to RCE
published 2024-07-31 2 y ago modified 2026-07-07 4 mo ago also EUVD-2024-2367 , GHSA-hx9v-6r9f-w677 , PYSEC-2026-1447
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 67%
- public exploits
- 0
- none known
Summary
Haystack is an end-to-end LLM framework that allows you to build applications powered by LLMs, Transformer models, vector search and more. Haystack clients that let their users create and run Pipelines from scratch are vulnerable to remote code executions. Certain Components in Haystack use Jinja2 templates, if anyone can create and render that template on the client machine they run any code. The vulnerability has been fixed with Haystack `2.3.1`.
Patch / fix
- pypi haystack-ai 2.3.1
- deepset haystack 2.3.1
- github.com/deepset-ai/haystack@3fed136 commit
- github.com/deepset-ai/haystack@6c25a5c commit
- github.com/deepset-ai/haystack#8095 pull request
- github.com/deepset-ai/haystack#8096 pull request
- github.com/deepset-ai/haystack/releases/tag/v2.3.1 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 2 y ago
Exploit prediction
1.17% chance of exploitation in the next 30 days, higher than 67% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | haystack-ai | <2.3.1 |
2.3.1 |
Affected products
- deepset-ai haystack
- deepset haystack
Classification
- Weakness
-
- CWE-1336 Improper Neutralization of Special Elements Used in a Template Engine
References
-
github.com
/deepset-ai/haystack/pull/8095
web
-
github.com
/deepset-ai/haystack/pull/8096
web
-
github.com
/deepset-ai/haystack/commit/3fed1366c448b02189851bf08166c1f6477a02b0
web
-
github.com
/deepset-ai/haystack/commit/6c25a5c73e83aa32c3241ba84a5cbb3ac0e8a89e
web
-
github.com
/deepset-ai/haystack/security/advisories/GHSA-hx9v-6r9f-w677
web
-
github.com
/deepset-ai/haystack/releases/tag/v2.3.1
web
-
nvd.nist.gov
/vuln/detail/CVE-2024-41950
advisory
-
github.com
/deepset-ai/haystack
package
-
pypi.org
/project/haystack-ai
package
-
github.com
/advisories/GHSA-hx9v-6r9f-w677
advisory
Sources
- CVE List CVE-2024-41950
- GitHub Advisory GHSA-hx9v-6r9f-w677
- NVD CVE-2024-41950
- OSV PYSEC-2026-1447
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.