W bibliotece LlamaIndex w wersji v0.12.19 wykryto podatność SQL injection w funkcji delete komponentu DuckDBVectorStore. Luka jest krytyczna — pozwala nieuwierzytelnionemu atakującemu na odczyt i zapis dowolnych plików na serwerze, a w konsekwencji na zdalne wykonanie kodu (RCE).
▸ Pokaż oryginał (EN)
An SQL injection vulnerability exists in the delete function of DuckDBVectorStore in run-llama/llama_index version v0.12.19. This vulnerability allows an attacker to manipulate the ref_doc_id parameter, enabling them to read and write arbitrary files on the server, potentially leading to remote code execution (RCE).
Atakujący może manipulować parametrem ref_doc_id przekazywanym do funkcji delete w klasie DuckDBVectorStore, który nie jest odpowiednio walidowany ani eskejpowany przed użyciem w zapytaniu SQL. Poprzez spreparowanie złośliwej wartości parametru możliwe jest wstrzyknięcie dowolnych instrukcji SQL. To z kolei umożliwia operacje na systemie plików serwera, takie jak odczyt i zapis arbitralnych plików, co może prowadzić do pełnego przejęcia kontroli nad systemem poprzez RCE.
Atakujący może odczytywać i modyfikować dowolne pliki na serwerze, a w skrajnym scenariuszu uzyskać zdalne wykonanie kodu (RCE), co oznacza pełne przejęcie kontroli nad systemem hostującym aplikację.
Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawka dostępna w repozytorium GitHub (commit 369a2942df2efcf6b74461c45d20a0af1fbe4ae2). Zaleca się jak najszybszą aktualizację biblioteki LlamaIndex do wersji zawierającej wskazaną poprawkę.
LlamaIndex (run-llama/llama_index) w wersji v0.12.19 — dotyczy aplikacji korzystających z komponentu DuckDBVectorStore.
Podatność została zgłoszona za pośrednictwem platformy Huntr (bounty e1302233-9180-4269-9047-1526247d2cd8). Wektor ataku sieciowy bez wymaganych uprawnień i interakcji użytkownika (AV:N/AC:L/PR:N/UI:N) znacząco podnosi ryzyko wykorzystania.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLlamaindex
APPLlamaindex0.12.19 – 0.12.21 (bez)
Powiązane podatności
SQL injection w LlamaIndex — nieautoryzowany dostęp do danych przez integracje vector store
SQL Injection i RCE w FinanceChatLlamaPack biblioteki LlamaIndex
SQL Injection umożliwiający RCE w komponencie duckdb_retriever biblioteki LlamaIndex
Command injection w LlamaIndex — obejście safe_eval umożliwia RCE
SQL injection w LlamaIndex przez funkcję Text-to-SQL