CVE-2024-14021
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
Biblioteka LlamaIndex w wersjach do 0.11.6 zawiera podatność na niebezpieczną deserializację w funkcji BGEM3Index.load_from_disk(). Funkcja ta używa pickle.load() do wczytywania pliku multi_embed_store.pkl z katalogu persist_dir bez walidacji, co umożliwia atakującemu wykonanie dowolnego kodu poprzez dostarczenie spreparowanego pliku pickle.
Ocena ryzyka
Atakujący może zdalnie wykonać dowolny kod na serwerze ofiary, jeśli uda mu się nakłonić użytkownika do załadowania indeksu z kontrolowanego przez atakującego katalogu persist_dir. Może to prowadzić do pełnego przejęcia systemu, kradzieży danych lub dalszego rozprzestrzeniania się ataku w sieci.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę LlamaIndex do wersji 0.11.7 lub nowszej, która zawiera poprawkę usuwającą podatność. Do czasu aktualizacji nie należy ładować indeksów z niezaufanych źródeł.
Inne podatności w LlamaIndex
Oryginalny opis (angielski, źródło NVD)
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.

