CRITICAL🇬🇧 English

CVE-2025-54119

SQL Injection w ADOdb przez metodę metaColumns/metaForeignKeys/metaIndexes (SQLite3)

CVSS 10.0v3.1pub. 2025-08-05upd. 2026-04-15

Biblioteka ADOdb w wersjach 5.22.9 i wcześniejszych zawiera podatność SQL injection (CWE-89) wynikającą z nieprawidłowego escapowania parametru zapytania. Umożliwia ona atakującemu wykonanie dowolnych poleceń SQL przy połączeniu z bazą SQLite3.

Pokaż oryginał (EN)

ADOdb is a PHP database class library that provides abstractions for performing queries and managing databases. In versions 5.22.9 and below, improper escaping of a query parameter may allow an attacker to execute arbitrary SQL statements when the code using ADOdb connects to a sqlite3 database and calls the metaColumns(), metaForeignKeys() or metaIndexes() methods with a crafted table name. This is fixed in version 5.22.10. To workaround this issue, only pass controlled data to metaColumns(), metaForeignKeys() and metaIndexes() method's $table parameter.

🤖 Analiza AI
Jak działa

Podatność występuje w metodach metaColumns(), metaForeignKeys() oraz metaIndexes(), które nie filtrują prawidłowo wartości przekazanej jako nazwa tabeli ($table). Atakujący może dostarczyć spreparowaną nazwę tabeli zawierającą złośliwe fragmenty SQL, które zostaną bezpośrednio osadzone w zapytaniu wysyłanym do bazy SQLite3. Brak odpowiedniego escapowania oznacza, że dostarczony payload jest interpretowany jako część składniowa zapytania SQL, a nie jako dane.

Skutki

Atakujący może wykonać dowolne polecenia SQL na bazie danych SQLite3, co prowadzi do ujawnienia, modyfikacji lub usunięcia danych, a w określonych konfiguracjach również do dalszego naruszenia integralności systemu.

Mitygacja

Należy zaktualizować bibliotekę ADOdb do wersji 5.22.10, w której problem został naprawiony. Jako obejście (workaround) do czasu aktualizacji należy przekazywać do parametru $table metod metaColumns(), metaForeignKeys() i metaIndexes() wyłącznie dane pochodzące z zaufanych, kontrolowanych źródeł.

Kogo dotyczy

ADOdb w wersjach 5.22.9 i wcześniejszych, wyłącznie w scenariuszach, gdzie aplikacja PHP łączy się z bazą SQLite3 i wywołuje metody metaColumns(), metaForeignKeys() lub metaIndexes() z niezaufanymi danymi jako nazwą tabeli.

Uwagi

Poprawka dostępna w commitcie 5b8bd52cdcffefb4ecded1b399c98cfa516afe03 w repozytorium GitHub projektu ADOdb. Podatność opisana w security advisory GHSA-vf2r-cxg9-p7rf. Pomimo maksymalnego wyniku CVSS 10.0 podatność dotyczy wyłącznie połączeń z SQLite3, co może ograniczać realny zasięg w środowiskach produkcyjnych korzystających z innych silników bazodanowych.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
SQLi
CWE
Referencje