CRITICAL🇬🇧 English

CVE-2023-42454

SQLpage: ujawnienie danych połączenia z bazą danych przez publiczny dostęp do pliku konfiguracyjnego

CVSS 10.0v3.1pub. 2023-09-18upd. 2024-11-21

SQLpage w wersjach przed 0.11.1 umożliwia nieuwierzytelnionemu atakującemu zdalne pobranie pliku konfiguracyjnego zawierającego dane połączenia z bazą danych (connection string). Podatność jest krytyczna, ponieważ jej wykorzystanie może prowadzić do bezpośredniego, nieautoryzowanego dostępu do bazy danych ofiary.

Pokaż oryginał (EN)

SQLpage is a SQL-only webapp builder. Someone using SQLpage versions prior to 0.11.1, whose SQLpage instance is exposed publicly, with a database connection string specified in the `sqlpage/sqlpage.json` configuration file (not in an environment variable), with the web_root is the current working directory (the default), and with their database exposed publicly, is vulnerable to an attacker retrieving database connection information from SQLPage and using it to connect to their database directly. Version 0.11.0 fixes this issue. Some workarounds are available. Using an environment variable instead of the configuration file to specify the database connection string prevents exposing it on vulnerable versions. Using a different web root (that is not a parent of the SQLPage configuration directory) fixes the issue. One should also avoid exposing one's database publicly.

🤖 Analiza AI
Jak działa

Podatność występuje, gdy katalog roboczy aplikacji (web_root) jest jednocześnie katalogiem nadrzędnym katalogu konfiguracyjnego SQLpage, a dane połączenia z bazą danych są zapisane w pliku `sqlpage/sqlpage.json` zamiast w zmiennej środowiskowej. W takiej konfiguracji plik konfiguracyjny jest dostępny przez sieć bez żadnego uwierzytelnienia. Atakujący może pobrać ten plik bezpośrednio przez HTTP, a następnie użyć uzyskanego connection string do samodzielnego połączenia się z bazą danych.

Skutki

Atakujący może uzyskać pełne dane uwierzytelniające do bazy danych (np. adres serwera, login, hasło) i połączyć się z nią bezpośrednio, co może skutkować kradzieżą, modyfikacją lub zniszczeniem danych przechowywanych w bazie.

Mitygacja

Należy zaktualizować SQLpage do wersji 0.11.1 lub nowszej. Jako obejście do czasu aktualizacji: zastąpić connection string w pliku konfiguracyjnym zmienną środowiskową; skonfigurować web_root tak, aby nie był katalogiem nadrzędnym katalogu konfiguracyjnego SQLpage; ograniczyć publiczny dostęp sieciowy do serwera bazy danych.

Kogo dotyczy

SQLpage (Lovasoa) w wersjach przed 0.11.1, gdy spełnione są jednocześnie następujące warunki: instancja jest publicznie dostępna, connection string jest określony w pliku `sqlpage/sqlpage.json` (nie w zmiennej środowiskowej), web_root to bieżący katalog roboczy (domyślny), a baza danych jest dostępna publicznie.

Uwagi

Pomimo oceny CVSS 10.0, faktyczne ryzyko jest uzależnione od jednoczesnego spełnienia kilku warunków konfiguracyjnych. Wersja 0.11.0 również zawiera poprawkę według opisu, choć wydanie 0.11.1 jest wskazane w referencjach jako oficjalnie naprawione.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
  • Lovasoa Sqlpage

    APP
    Lovasoa
    < 0.11.1
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje