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.
Security readout for executives and security teams
Plain-English summary
A malicious or untrusted saved BGEM3 index can run code when a user or service loads it. Successful exploitation could compromise the confidentiality, integrity, and availability of the affected system. The supplied record rates the issue high severity and describes LlamaIndex versions through 0.11.6 as affected.
Executive priority
Prioritize prompt investigation where AI applications import indexes from customers, partners, shared storage, uploads, or automated pipelines. Emergency handling is warranted if untrusted parties can influence persist_dir contents. Internally generated indexes with strongly restricted write access can follow risk-based remediation, but should still be inventoried and updated.
Technical view
BGEM3Index.load_from_disk() uses pickle.load() on multi_embed_store.pkl inside a user-supplied persist_dir without validation. Because Python pickle data can execute code during deserialization, loading an attacker-crafted index can produce arbitrary code execution with the victim process's privileges.
Likely exposure
Exposure requires LlamaIndex through 0.11.6, use of BGEM3Index.load_from_disk(), and a path by which an attacker can supply or modify the persisted index directory. Systems using trusted, access-controlled index files only have lower practical exposure, but filesystem and ingestion boundaries should be verified.
Exploitation context
The CVSS 4.0 vector indicates a local attack requiring victim interaction, with low complexity and high confidentiality, integrity, and availability impact. The bundle says this CVE is not in KEV and provides no evidence of active exploitation. A public technical report exists, so defenders should not treat the issue as undisclosed.
Researcher notes
The vulnerable sink and triggering file are specifically identified, but the bundle does not name a fixed version, official patch, or vendor mitigation. The affected metadata also contains an ambiguous version entry of "0", while the narrative states versions through 0.11.6. Confirm authoritative version ranges and remediation guidance before closing findings.
Mitigation direction
Identify deployments using LlamaIndex versions through 0.11.6 and BGEM3Index disk loading.
Prevent loading BGEM3 indexes from user-supplied, shared, or otherwise untrusted directories.
Restrict write access to persisted index directories and files.
Check current LlamaIndex vendor guidance for a fixed release or supported mitigation.
Isolate affected processes and minimize their filesystem, network, and credential privileges.
Validation and detection
Inventory installed LlamaIndex versions across development, automation, and production environments.
Search application code for BGEM3Index.load_from_disk() and trace each persist_dir source.
Verify persisted index directories cannot be written by untrusted users or ingestion workflows.
Review logs and file histories for unexpected multi_embed_store.pkl creation or modification.
Confirm upgrades or mitigations through non-malicious loading tests in an isolated environment.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-502: Code execution behavior lookup
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: noTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-502 · source CWE mapping
Deserialization of Untrusted Data
Deserialization of Untrusted Data represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.