CVE-2026-25879
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko dla organizacji obejmuje całkowite przejęcie kontroli nad hostem bazy danych, co może prowadzić do wycieku danych, ich modyfikacji lub uszkodzenia, a także do dalszego ataku na infrastrukturę.
Rekomendacja
Należy natychmiast zaktualizować Langroid do wersji 0.63.0 lub nowszej. W przypadku konieczności zachowania pełnej funkcjonalności, należy skonfigurować SQLChatAgent z allow_dangerous_operations=True tylko w zaufanym środowisku.
Inne podatności w Langroid
Zobacz wszystkie- CVE-2026-55615Krytyczne
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.
- 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-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.63.0, SQLChatAgent executes SQL produced by an LLM, which is influenceable by prompt injection. When configured with a database role that has privileges enabling code execution or filesystem access (e.g., PostgreSQL pg_execute_server_program, MySQL FILE, MSSQL xp_cmdshell), an attacker who can shape the agent's input — including indirectly via data returned to the LLM — can coerce execution of dialect-specific primitives such as `COPY ... FROM PROGRAM`, achieving RCE on the database host. Fixed in v0.63.0 by defaulting SQLChatAgent to a SELECT-only sqlglot-parsed statement allowlist with a dialect-aware dangerous-pattern blocklist; allow_dangerous_operations=True restores the previous unrestricted behavior for trusted deployments.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

