Podatność w pliku pragma.c biblioteki SQLite (do wersji 3.30.1 włącznie) powoduje błędną obsługę klauzuli NOT NULL podczas wykonywania polecenia PRAGMA integrity_check w kontekście kolumn generowanych. Błąd posiada ocenę krytyczną CVSS 9.8 i może prowadzić do poważnych konsekwencji dla aplikacji korzystających z tej biblioteki.
▸ Pokaż oryginał (EN)
pragma.c in SQLite through 3.30.1 mishandles NOT NULL in an integrity_check PRAGMA command in certain cases of generated columns.
Problem leży w kodzie odpowiadającym za sprawdzanie integralności bazy danych (PRAGMA integrity_check) w pliku pragma.c. W określonych przypadkach dotyczących kolumn generowanych (generated columns) biblioteka SQLite nieprawidłowo przetwarza ograniczenie NOT NULL (CWE-754: nieprawidłowa weryfikacja wyjątkowych warunków). Błąd może zostać wywołany przez odpowiednio spreparowane żądanie do bazy danych zawierającej kolumny generowane z ograniczeniem NOT NULL.
Atakujący może potencjalnie doprowadzić do naruszenia poufności, integralności oraz dostępności danych — zgodnie z wektorem CVSS wszystkie trzy elementy trójki CIA są ocenione jako wysokie (H). Możliwe skutki obejmują nieautoryzowany dostęp do danych, ich modyfikację lub spowodowanie niedostępności aplikacji korzystającej z biblioteki SQLite.
Należy zaktualizować bibliotekę SQLite do wersji wyższej niż 3.30.1, w której poprawka została wprowadzona (commity dostępne w repozytorium SQLite na GitHub). Producenci produktów pochodnych wydali własne poprawki — należy zastosować patche dostępne u producentów zgodnie z referencjami (Siemens SSA-389290, NetApp NTAP-20191223-0001, Oracle CPU April 2020).
SQLite w wersjach do 3.30.1 włącznie. Podatność dotyczy również produktów opartych na tej bibliotece: Siemens SINEC Infrastructure Network Services, Tenable Tenable.sc, Oracle MySQL Workbench oraz NetApp Cloud Backup.
Podatność opublikowana 9 grudnia 2019 r. Poprawki dostępne w postaci dwóch commitów w oficjalnym repozytorium SQLite na GitHub (926f796e8f oraz ebd70eedd5).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNetapp Cloud Backup
APPNetappwszystkie wersjeNetapp Ontap Select Deploy Administration Utility
APPNetappwszystkie wersjeOracle MySQL Workbench
APPOracle≤ 8.0.19Siemens Sinec Infrastructure Network Services
APPSiemens< 1.0.1.1Sqlite
APPSqlite≤ 3.30.1Tenable Tenable.sc
APPTenable< 5.19.0
Powiązane podatności
Apache HTTP Server 2.4.50 — path traversal i RCE (niewystarczający patch CVE-2021-41773)
Apache HTTP Server 2.4.49 — path traversal i RCE (aktywnie exploitowany)
SSRF w mod_proxy Apache HTTP Server — przekierowanie żądań przez atakującego
Heap buffer overflow w FreeType w Google Chrome — aktywnie exploitowany
PHP PDO SQLite — błędne cytowanie ciągów prowadzące do SQL injection