CVE-2025-3108 Unsafe Deserialization in JsonPickleSerializer Enables Remote Code Execution in run-llama/llama_index
Attackers can achieve remote code execution by exploiting unsafe pickle deserialization in the JsonPickleSerializer component of the llama_index library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2025-3108?
CVE-2025-3108 is a medium-severity unsafe deserialization vulnerability in run-llama/llama_index, published on 6 Jul 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
A critical deserialization vulnerability exists in the run-llama/llama_index library's JsonPickleSerializer component, affecting versions v0.12.27 through v0.12.40. This vulnerability allows remote code execution due to an insecure fallback to Python's pickle module. JsonPickleSerializer prioritizes deserialization using pickle.loads(), which can execute arbitrary code when processing untrusted data. Attackers can exploit this by crafting malicious payloads to achieve full system compromise. The root cause includes an insecure fallback mechanism, lack of validation or safeguards, misleading design, and violation of Python security guidelines.
Weakness: CWE-1112
Which versions are affected by CVE-2025-3108?
4 open source packages ship an affected version, including llama-index-core and llama-index. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
llama-index-core PyPI | From 0.11.15 | 0.12.41 |
llama-index-core PyPI | From 0.11.15 | 0.12.41 |
llama-index-core PyPI | From 0.11.15 | 0.12.41 |
llama-index PyPI | From 0.12.27 | 0.12.41 |
Products include Llamaindex Llamaindex.
How do I fix CVE-2025-3108?
Upgrade llama-index-core to 0.12.41 or later.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2025-3108 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-3108 exists.
Other vulnerabilities in run-llama/llama_index
Sources
Also known as GHSA-m84c-4c34-28gf, PYSEC-2025-249, PYSEC-2026-1564.