CVE-2026-105315 json
django-haystack more_like_this Template Tag elasticsearch_backend.py _to_python eval injection
published 3mo ago modified last mo. also GHSA-r3hx-x5rh-p9vv , EUVD-2026-92429
- cvss
- 4.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 17%
- public exploits
- 0
- none known
Summary
A vulnerability has been found in django-haystack up to 3.3.0. Affected is the function _to_python of the file haystack/backends/elasticsearch_backend.py of the component more_like_this Template Tag Handler. Such manipulation of the argument result_class leads to improper neutralization of directives in dynamically evaluated code. The attack can be launched remotely. The exploit has been disclosed to the public and may be used. Upgrading to version 3.4.0 is able to address this issue. The name of the patch is eb05f193c9771a68dcc8cfac6674a0d48a52ee9d. It is suggested to upgrade the affected component.
Patch / fix
- pypi django-haystack 3.4.0
- n/a django-haystack 3.4.0
Is CVE-2026-105315 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-105315 updated cvss 7.5
django-haystack: django-haystack: arbitrary code execution via unsafe evaluation of search results
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- last mo.
Exploit prediction
0.25% chance of exploitation in the next 30 days, higher than 17% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/django-haystack/django-haystack/security/advisories/GHSA-r3hx-x5rh-p9vv referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P |
| CNA | 3.1 | 4.7 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C |
| CNA | 3.0 | 4.7 | CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C |
| CNA | 2.0 | 5.8 | AV:N/AC:L/Au:M/C:P/I:P/A:P/E:POC/RL:OF/RC:C |
| CNA | 4.0 | 2.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| CNA | 3.1 | 4.7 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L |
| CNA | 2.0 | 5.8 | AV:N/AC:L/Au:M/C:P/I:P/A:P |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | django-haystack | <3.4.0 |
3.4.0 |
Affected products
- n/a django-haystack
Classification
References
-
github.com
/django-haystack/django-haystack/commit/eb05f193c9771a68dcc8cfac6674a0d48a52ee9d
patch, web
-
github.com
/django-haystack/django-haystack/releases/tag/v3.4.0
patch, web
-
github.com
/django-haystack/django-haystack/security/advisories/GHSA-r3hx-x5rh-p9vv
exploit, web
-
vuldb.com
/vuln/413523
vdb-entry, technical-description
-
vuldb.com
/vuln/413523/cti
signature, permissions-required
-
vuldb.com
/cve/CVE-2026-105315
third-party-advisory
-
vuldb.com
/submit/978642
third-party-advisory
-
github.com
/django-haystack/django-haystack/
product
-
github.com
/django-haystack/django-haystack
package
Sources
- CVE List CVE-2026-105315
- GitHub Advisory GHSA-r3hx-x5rh-p9vv
- NVD CVE-2026-105315
Fencer Intel 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.