CVE-2026-55615
KrytyczneCVSS 9.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
Langroid przed wersją 0.65.5 zawiera podatność w komponencie Neo4jChatAgent, która pozwala na wstrzykiwanie zapytań Cypher. Atakujący może wpłynąć na treść zapytania poprzez prompt injection, co umożliwia odczytanie lub zniszczenie wszystkich danych grafu, a przy włączonych procedurach APOC lub dbms.security – uzyskanie dostępu do systemu plików i wykonanie poleceń OS.
Ocena ryzyka
Ryzyko dla organizacji obejmuje całkowitą utratę poufności i integralności danych w bazie Neo4j oraz potencjalne przejęcie kontroli nad serwerem, co może prowadzić do eskalacji ataku na całą infrastrukturę IT.
Rekomendacja
Należy niezwłocznie zaktualizować Langroid do wersji 0.65.5 lub nowszej, która zawiera poprawkę dla modułu neo4j. Dodatkowo warto rozważyć ograniczenie uprawnień użytkownika bazy Neo4j oraz wyłączenie niepotrzebnych procedur APOC i dbms.security.
Inne podatności w Langroid
Zobacz wszystkie- CVE-2026-54769Krytyczne
Langroid w wersjach przed 0.65.2 zawiera krytyczną podatność umożliwiającą ucieczkę z sandboksa i zdalne wykonanie kodu (RCE) w komponentach `TableChatAgent` i `VectorStore`. Podczas ewaluacji komunikatów narzędziowych generowanych przez LLM z parametrem `full_eval=True`, funkcja `eval()` nie usuwa `__builtins__` z globalnego słownika, co pozwala na dostęp do funkcji systemowych, takich jak `__import__('os').system()`. Atakujący może wykorzystać tę lukę, dostarczając spreparowany prompt, aby uzyskać nieuwierzytelnione RCE na hoście.
- CVE-2026-54760Krytyczne
W frameworku Langroid do wersji 0.65.1 wykryto podatność na iniekcję SQL w komponencie `SQLChatAgent`. Mimo domyślnego wyłączenia niebezpiecznych operacji, mechanizm ochronny oparty na liście blokowanych wzorców regex i liście dozwolonych zapytań SELECT może zostać ominięty przez specjalnie skonstruowane zapytania PostgreSQL, co umożliwia odczyt plików serwera.
- CVE-2026-25879Krytyczne
Langroid SQLChatAgent przed wersją 0.63.0 wykonuje zapytania SQL generowane przez model językowy, które mogą być manipulowane przez wstrzyknięcie promptu. Atakujący może wymusić wykonanie niebezpiecznych operacji, takich jak COPY ... FROM PROGRAM, prowadząc do zdalnego wykonania kodu na hoście bazy danych.
- CVE-2026-54771Wysokie
Podatność w frameworku Langroid przed wersją 0.65.3 umożliwia bezpośrednie wywoływanie narzędzi przez niezaufanych użytkowników za pomocą surowych ładunków JSON, nawet gdy narzędzia są zarejestrowane z flagami `use=False, handle=True`.
- CVE-2026-50181Wysokie
W frameworku Langroid narzędzia ReadFileTool i WriteFileTool nie weryfikują, czy ścieżka pliku pozostaje w granicach katalogu roboczego (curr_dir). Umożliwia to atakującemu odczyt i zapis plików poza dozwolonym katalogiem poprzez sekwencje typu ../.
- CVE-2026-50180Wysokie
W bibliotece Langroid w wersji przed 0.64.0, komponent SQLChatAgent zawiera niedoskonałą warstwę zabezpieczeń _validate_query, która nie blokuje wszystkich niebezpiecznych funkcji SQL. Lista blokująca pomija m.in. funkcje PostgreSQL do odczytu plików (pg_read_file, pg_stat_file) oraz konstrukcje SQL Server i SQLite, co umożliwia atakującemu odczyt plików z hosta bazy danych.
Oryginalny opis (angielski, źródło NVD)
Langroid is a framework for building large-language-model-powered applications. Prior to version 0.65.5, Neo4jChatAgent passes LLM-generated Cypher queries straight to the Neo4j driver with no validation, no statement-type allowlist, and no opt-out gate. The query text is influenceable by prompt injection (direct user input or indirect content the agent reads back via RAG), so an attacker who can influence the prompt can read or destroy all graph data and, when APOC or dbms.security procedures are enabled on the server, achieve OS-command and filesystem access. This is the same defect class and threat model as the SQLChatAgent prompt-to-SQL-to-RCE issue fixed in version 0.63.0 (CVE-2026-25879); that fix did not extend to the neo4j module. Version 0.65.5 contains a fix for the neo4j module.

