W komponencie `duckdb_retriever` biblioteki LlamaIndex wykryto krytyczną podatność SQL injection (CVE-2024-11958), która umożliwia zdalne wykonanie kodu (RCE). Atakujący bez żadnego uwierzytelnienia może wstrzyknąć dowolny kod SQL, co w konsekwencji prowadzi do przejęcia kontroli nad systemem.
▸ Pokaż oryginał (EN)
A SQL injection vulnerability exists in the `duckdb_retriever` component of the run-llama/llama_index repository, specifically in the latest version. The vulnerability arises from the construction of SQL queries without using prepared statements, allowing an attacker to inject arbitrary SQL code. This can lead to remote code execution (RCE) by installing the shellfs extension and executing malicious commands.
Podatność wynika z budowania zapytań SQL bez użycia przygotowanych instrukcji (prepared statements) w komponencie `duckdb_retriever`. Atakujący może wstrzyknąć dowolny kod SQL poprzez niezafiltrowane dane wejściowe. Exploit polega na wykorzystaniu mechanizmu instalacji rozszerzenia shellfs w silniku DuckDB, co pozwala na wykonanie dowolnych poleceń systemowych (RCE). Wektor ataku jest sieciowy, nie wymaga uwierzytelnienia ani interakcji użytkownika.
Atakujący może uzyskać pełen dostęp do danych przechowywanych w bazie oraz wykonać dowolne polecenia systemu operacyjnego na serwerze hostującym aplikację, co może prowadzić do całkowitego przejęcia systemu.
Należy zaktualizować bibliotekę LlamaIndex do wersji zawierającej poprawkę opisaną w commicie 35bd221e948e40458052d30c6ef2779bc965b6d0 w repozytorium run-llama/llama_index. Do czasu wdrożenia patcha zaleca się ograniczenie dostępu do komponentu `duckdb_retriever` oraz rygorystyczną walidację danych wejściowych.
Najnowsza wersja biblioteki run-llama/llama_index (komponent duckdb_retriever) — dokładne wersje wskazane w referencjach producenta
Podatność została zgłoszona za pośrednictwem platformy Huntr (bounty 8ddf66e1-f74c-4d53-992b-76bc45cacac1). Poprawka dostępna w repozytorium GitHub pod wskazanym commitem.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLlamaindex
APPLlamaindex< 0.4.0
Powiązane podatności
SQL injection w LlamaIndex — nieautoryzowany dostęp do danych przez integracje vector store
SQL Injection w DuckDBVectorStore umożliwiający RCE (LlamaIndex)
SQL Injection i RCE w FinanceChatLlamaPack biblioteki LlamaIndex
Command injection w LlamaIndex — obejście safe_eval umożliwia RCE
SQL injection w LlamaIndex przez funkcję Text-to-SQL