Unsafe Deserialization in llama-index (CVE-2024-14021)
Summary
Vulnerability in llama-index (CVE-2024-14021). Successful exploitation can lead to full system takeover. Mitigation: upgrade to 0.11.7 or later.
Original description
The description as published by the source.
LlamaIndex (run-llama/llama_index) versions up to and including 0.11.6 contain an unsafe deserialization vulnerability in BGEM3Index.load_from_disk() in llama_index/indices/managed/bge_m3/base.py. The function uses pickle.load() to deserialize multi_embed_store.pkl from a user-supplied persist_dir without validation. An attacker who can provide a crafted persist directory containing a malicious pickle file can trigger arbitrary code execution when the victim loads the index from disk.
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2024-14021 has been found in llama-index.
Successful exploitation can lead to full system takeover. CVSS score: 7.8/10.
What to do: upgrade llama-index to 0.11.7 or later.
If unsure, ask your IT team or search "llama-index CVE-2024-14021" on the vendor's site.
CVE-2024-14021 (llama-index) — CWE-502 / CVSS v3 7.8
Attack vector: local / unauthenticated
Patched: 0.11.7 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
Unsafe deserialization (CWE-502) exists in llama-index.
Check the vendor advisory for the affected versions of llama-index.
Severity: High (CVSS 7.8/10). Successful exploitation can lead to full system takeover.
Update to 0.11.7.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'llama-index' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'llama-index' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
llama-indexを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade llama-index to 0.11.7ステージング環境で 0.11.7 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- advisory vulncheck.com
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov
- report huntr.com
- web llamaindex.ai