CRITICAL✓ PATCH🇬🇧 English

CVE-2019-19646

SQLite: nieprawidłowa obsługa NOT NULL w integrity_check PRAGMA dla kolumn generowanych

CVSS 9.8v3.1pub. 2019-12-09upd. 2024-11-21

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.

🤖 Analiza AI
Jak działa

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.

Skutki

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.

Mitygacja

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).

Kogo dotyczy

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.

Uwagi

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 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Netapp Cloud Backup

    APP
    Netapp
    wszystkie wersje
  • Netapp Ontap Select Deploy Administration Utility

    APP
    Netapp
    wszystkie wersje
  • Oracle MySQL Workbench

    APP
    Oracle
    ≤ 8.0.19
  • Siemens Sinec Infrastructure Network Services

    APP
    Siemens
    < 1.0.1.1
  • Sqlite

    APP
    Sqlite
    ≤ 3.30.1
  • Tenable Tenable.sc

    APP
    Tenable
    < 5.19.0
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje

Powiązane podatności

CVE-2021-42013CRITICAL9.8⚠ KEVPL ✓ten sam produkt

Apache HTTP Server 2.4.50 — path traversal i RCE (niewystarczający patch CVE-2021-41773)

CVE-2021-41773CRITICAL9.8⚠ KEVPL ✓ten sam produkt

Apache HTTP Server 2.4.49 — path traversal i RCE (aktywnie exploitowany)

CVE-2021-40438CRITICAL9.0⚠ KEVPL ✓ten sam produkt

SSRF w mod_proxy Apache HTTP Server — przekierowanie żądań przez atakującego

CVE-2020-15999CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Heap buffer overflow w FreeType w Google Chrome — aktywnie exploitowany

CVE-2022-31631CRITICAL9.1PL ✓ten sam produkt

PHP PDO SQLite — błędne cytowanie ciągów prowadzące do SQL injection