Katalog CVE

CVE-2026-53556

ŚrednieCVSS 6.0
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.38%

Percentyl 32 - wyżej niż 32% wszystkich znanych CVE

Streszczenie

SQLBot przed wersją 1.9.0 zawiera podatność w punkcie końcowym POST /api/v1/datasource/previewData, gdzie wartość table_name kontrolowana przez klienta jest wstawiana do generowanego SQL bez bezpiecznego obsługiwania identyfikatorów. Uwierzytelniony użytkownik może skonfigurować źródło danych dla wewnętrznego PostgreSQL i wysłać spreparowaną nazwę tabeli, która pozostaje operacją SELECT, ale wywołuje funkcje pg_read_file(), pg_read_binary_file() lub pg_ls_dir(). W domyślnej konfiguracji zaufanego uwierzytelniania loopback, wewnętrzne połączenie akceptuje nieprawidłowe poświadczenia i wykonuje się z uprawnieniami superużytkownika PostgreSQL, co pozwala na odczyt plików systemowych, takich jak /etc/hosts i /etc/passwd, w odpowiedzi API previewData, potencjalnie ujawniając konfigurację, poświadczenia, sekrety uwierzytelniania i kod źródłowy. Problem naprawiono w wersji 1.9.0.

Ocena ryzyka

Podatność umożliwia uwierzytelnionemu użytkownikowi odczyt wrażliwych plików z serwera, w tym plików konfiguracyjnych, poświadczeń i sekretów, co może prowadzić do pełnej kompromitacji systemu i wycieku danych.

Rekomendacja

Zaleca się natychmiastową aktualizację SQLBot do wersji 1.9.0 lub nowszej, która zawiera poprawkę eliminującą podatność. Dodatkowo należy ograniczyć dostęp do punktu końcowego previewData i zweryfikować konfigurację uwierzytelniania wewnętrznej bazy danych.

Inne podatności w SQLBot

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

SQLBot is an intelligent Text-to-SQL system based on large language models and RAG. Prior to 1.9.0, the POST /api/v1/datasource/previewData endpoint in backend/apps/datasource/crud/datasource.py incorporates the client-controlled table_name value into generated SQL without safe identifier handling. An authenticated user can configure a datasource for SQLBot's internal PostgreSQL service and submit a crafted table_name that remains a SELECT operation under the read-only policy while invoking pg_read_file(), pg_read_binary_file(), or pg_ls_dir(). In the default tested trusted loopback authentication configuration, the internal connection accepts invalid credentials and executes with PostgreSQL superuser privileges, allowing filesystem content such as /etc/hosts and /etc/passwd to be returned in the previewData API response and potentially exposing configuration, credentials, authentication secrets, and source code. This issue is fixed in version 1.9.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS