CVE-2026-54760
KrytyczneCVSS 9.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 47 - wyżej niż 47% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może ominąć zabezpieczenia i wykonać funkcje PostgreSQL, takie jak `pg_read_file`, co prowadzi do nieautoryzowanego odczytu plików na serwerze bazy danych. Może to skutkować wyciekiem poufnych danych, w tym konfiguracji i danych użytkowników.
Rekomendacja
Należy natychmiast zaktualizować framework Langroid do wersji 0.65.1 lub nowszej. Dodatkowo, zaleca się wdrożenie dodatkowych warstw zabezpieczeń, takich jak walidacja zapytań po stronie serwera 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.1, the `SQLChatAgent` SQL-injection mitigation, with default `allow_dangerous_operations=False`, combines a raw-text regex blocklist (`_DANGEROUS_SQL_PATTERNS`) with a `sqlglot` SELECT-only statement allowlist. The blocklist entries that target callable functions require the function name to be immediately followed by `\s*\(`. PostgreSQL accepts the same call with the name separated from `(` by a quoted identifier, an inline comment, or schema qualification. These forms evade the regex, still parse as `SELECT`, and execute the same PostgreSQL function. This restores the `pg_read_file` server-side file-read primitive that the prior CVE-2026-25879 / GHSA-pmch-g965-grmr fix was meant to block: the parent advisory fixed a missing `pg_read_file` blocklist entry, while this report shows that the added regex is bypassable. Version 0.65.1 fixes the issue.

