Podatności SQLite
72 znanych podatności CVE w SQLite, przetłumaczonych i ocenionych.
- CVE-2017-7127Wysokie
W niektórych produktach Apple odkryto problem związany z komponentem 'SQLite'. Dotyczy to iOS przed wersją 11, macOS przed wersją 10.13, iCloud przed wersją 7.0 na Windows, tvOS przed wersją 11 oraz watchOS przed wersją 4.
- CVE-2017-15286Wysokie
SQLite w wersji 3.20.1 zawiera błąd dereferencji wskaźnika NULL w funkcji tableColumnList w pliku shell.c. Problem ten występuje, gdy nie są brane pod uwagę pewne przypadki, w których `sqlite3_step(pStmt)==SQLITE_ROW` jest fałszywe, co prowadzi do nieinicjalizowania struktury danych.
- CVE-2017-6991Wysokie
W produktach Apple, w tym iOS przed wersją 10.3.2 oraz macOS przed wersją 10.12.5, odkryto problem związany z komponentem 'SQLite'. Umożliwia on zdalnym atakującym wykonanie dowolnego kodu lub spowodowanie odmowy usługi poprzez złośliwie skonstruowaną stronę internetową.
- CVE-2017-6983Wysokie
W produktach Apple, w tym iOS przed wersją 10.3.2 oraz macOS przed wersją 10.12.5, odkryto problem związany z komponentem 'SQLite'. Umożliwia on zdalnym atakującym wykonanie dowolnego kodu lub spowodowanie odmowy usługi poprzez złośliwie skonstruowaną stronę internetową.
- CVE-2015-5895Wysokie
Wielokrotne nieokreślone podatności w SQLite przed wersją 3.8.10.2, używanej w Apple iOS przed wersją 9, mogą prowadzić do nieznanego wpływu i wektorów ataku.
- CVE-2015-3717Wysokie
W SQLite, używanym w Apple iOS przed wersją 8.4 oraz OS X przed wersją 10.10.4, występuje wiele przepełnień bufora w funkcjonalności printf, co pozwala zdalnym atakującym na wykonanie dowolnego kodu lub spowodowanie awarii aplikacji.
- CVE-2015-3416Wysokie
Funkcja sqlite3VXPrintf w SQLite przed wersją 3.8.9 nieprawidłowo obsługuje wartości precyzji i szerokości podczas konwersji zmiennoprzecinkowych, co może prowadzić do przepełnienia całkowitego i przepełnienia bufora na stosie. Atakujący mogą wykorzystać to w kontekście, aby spowodować odmowę usługi lub potencjalnie inny nieokreślony wpływ.
- CVE-2015-3415Wysokie
Funkcja sqlite3VdbeExec w SQLite przed wersją 3.8.9 nieprawidłowo implementuje operatory porównania, co pozwala atakującym na wywołanie odmowy usługi lub potencjalnie inny nieokreślony wpływ za pomocą spreparowanej klauzuli CHECK.
- CVE-2015-3414Wysokie
SQLite w wersjach przed 3.8.9 nieprawidłowo implementuje usuwanie cudzysłowów z nazw sekwencji porównawczych, co pozwala atakującym zależnym od kontekstu na spowodowanie odmowy usługi (dostęp do niezainicjowanej pamięci i awaria aplikacji) lub potencjalnie inny nieokreślony wpływ poprzez spreparowany klauzulę COLLATE.
- CVE-2025-71316Krytyczne
SQLite 'sqldiff.exe' niebezpiecznie obsługuje konwersję znaków Unicode na strony kodowe ANSI w środowisku Windows, co pozwala atakującemu na załadowanie dowolnej biblioteki DLL poprzez opcję '-L' i błędną interpretację argumentów wiersza poleceń.
- CVE-2025-3277Krytyczne
W funkcji concat_ws() SQLite można wywołać przepełnienie liczb całkowitych. Obcięta wartość jest używana do alokacji bufora, ale przy zapisie wynikowego ciągu używany jest oryginalny, nieobcięty rozmiar, co prowadzi do przepełnienia sterty o rozmiarze około 4 GB i może umożliwić wykonanie dowolnego kodu.
- CVE-2020-35527Krytyczne
W SQLite 3.31.1 występuje problem dostępu poza granicami pamięci poprzez operację ALTER TABLE dla widoków zawierających zagnieżdżoną klauzulę FROM.
- CVE-2021-36690Wysokie
W komponencie wiersza poleceń sqlite3.exe w SQLite 3.36.0 może wystąpić błąd segmentacji poprzez funkcję idxGetTableInfo przy użyciu spreparowanego zapytania SQL. Producent nie uznaje tego raportu za istotny, ponieważ użytkownik sqlite3.exe ma już pełne uprawnienia, a raport nie dotyczy biblioteki SQLite.
- CVE-2020-13871Wysokie
SQLite 3.32.2 ma użycie po zwolnieniu (use-after-free) w funkcji resetAccumulator w select.c, ponieważ przepisanie drzewa parsowania dla funkcji okienkowych jest zbyt późne.
- CVE-2020-11656Krytyczne
W SQLite do wersji 3.31.1 implementacja polecenia ALTER TABLE ma błąd use-after-free, co zostało zademonstrowane przez klauzulę ORDER BY należącą do złożonego zapytania SELECT.
- CVE-2020-11655Wysokie
SQLite do wersji 3.31.1 pozwala atakującym na spowodowanie odmowy usługi (błąd segmentacji) przez źle sformułowane zapytanie z funkcją okienkową, ponieważ inicjalizacja obiektu AggInfo jest nieprawidłowo obsługiwana.
- CVE-2019-19925Wysokie
W SQLite 3.30.1 funkcja zipfileUpdate w pliku ext/misc/zipfile.c nieprawidłowo obsługuje ścieżkę NULL podczas aktualizacji archiwum ZIP, co może prowadzić do nieoczekiwanego zachowania.
- CVE-2019-19924Średnie
SQLite 3.30.1 nieprawidłowo obsługuje przepisywanie drzewa parsera w funkcji sqlite3WindowRewrite(), co prowadzi do błędów w plikach expr.c, vdbeaux.c i window.c. Podatność wynika z niepoprawnego zarządzania błędami podczas przepisywania zapytań z oknami.
- CVE-2019-19923Wysokie
W SQLite 3.30.1 funkcja flattenSubquery w pliku select.c nieprawidłowo obsługuje pewne użycia SELECT DISTINCT z LEFT JOIN, gdzie prawa strona jest widokiem, co może prowadzić do wyłuskania wskaźnika NULL lub błędnych wyników.
- CVE-2019-19926Wysokie
W SQLite 3.30.1 funkcja multiSelect w select.c nieprawidłowo obsługuje pewne błędy podczas parsowania, co jest spowodowane błędami z wywołań sqlite3WindowRewrite(). Podatność istnieje z powodu niekompletnej poprawki dla CVE-2019-19880.
- CVE-2019-19880Wysokie
W SQLite 3.30.1 funkcja exprListAppendList w pliku window.c nieprawidłowo obsługuje stałe wartości całkowite w klauzulach ORDER BY definicji okien, co może prowadzić do nieprawidłowego wyłuskania wskaźnika.
- CVE-2019-19646Krytyczne
W SQLite do wersji 3.30.1 plik pragma.c nieprawidłowo obsługuje ograniczenie NOT NULL w poleceniu PRAGMA integrity_check w niektórych przypadkach kolumn generowanych.
- CVE-2019-19603Wysokie
SQLite 3.30.1 nieprawidłowo obsługuje pewne instrukcje SELECT z nieistniejącym widokiem, co prowadzi do awarii aplikacji.
- CVE-2019-19317Krytyczne
Funkcja lookupName w resolve.c w SQLite 3.30.1 pomija bity z maski colUsed w przypadku kolumny generowanej, co pozwala atakującym na spowodowanie odmowy usługi lub potencjalnie innych skutków.
- CVE-2019-16168Średnie
W SQLite do wersji 3.29.0, funkcja whereLoopAddBtreeIndex w sqlite3.c może doprowadzić do awarii przeglądarki lub innej aplikacji z powodu braku walidacji pola sz w sqlite_stat1, znane jako "poważne dzielenie przez zero w planerze zapytań".
- CVE-2019-5018Wysokie
W SQLite 3.26.0 istnieje podatność use-after-free w funkcji okienkowej, która może zostać wykorzystana przez specjalnie spreparowane polecenie SQL, potencjalnie prowadząc do zdalnego wykonania kodu.
- CVE-2019-9937Wysokie
W SQLite 3.27.2, przeplatane odczyty i zapisy w pojedynczej transakcji z wirtualną tabelą fts5 prowadzą do wyłuskania wskaźnika NULL w funkcji fts5ChunkIterate w sqlite3.c.
- CVE-2019-9936Wysokie
W SQLite 3.27.2, uruchamianie zapytań fts5 prefix wewnątrz transakcji może wywołać przepełnienie bufora (heap-based buffer over-read) w funkcji fts5HashEntrySort w sqlite3.c, co może prowadzić do wycieku informacji.
- CVE-2017-7130Krytyczne
W niektórych produktach Apple, w tym iOS przed wersją 11, macOS przed wersją 10.13, tvOS przed wersją 11 oraz watchOS przed wersją 4, odkryto problem związany z produktem zewnętrznym 'SQLite'. Wersje przed 3.19.3 umożliwiają zdalnym atakującym spowodowanie odmowy usługi (awaria aplikacji) lub potencjalnie inne nieokreślone skutki.
- CVE-2017-7129Krytyczne
W niektórych produktach Apple, w tym iOS przed wersją 11, macOS przed wersją 10.13, tvOS przed wersją 11 oraz watchOS przed wersją 4, odkryto problem związany z produktem zewnętrznym 'SQLite'. Wersje przed 3.19.3 umożliwiają zdalnym atakującym spowodowanie odmowy usługi (awaria aplikacji) lub potencjalnie inny nieokreślony wpływ.
- CVE-2017-7128Krytyczne
W niektórych produktach Apple, w tym iOS przed wersją 11, macOS przed wersją 10.13, tvOS przed wersją 11 oraz watchOS przed wersją 4, odkryto problem związany z produktem zewnętrznym 'SQLite'. Wersje przed 3.19.3 umożliwiają zdalnym atakującym spowodowanie odmowy usługi (awaria aplikacji) lub potencjalnie inny nieokreślony wpływ.
- CVE-2017-10989Krytyczne
Funkcja getNodeSize w pliku ext/rtree/rtree.c w SQLite do wersji 3.19.3, używana w GDAL i innych produktach, niewłaściwie obsługuje zbyt małe bloby RTree w stworzonym bazie danych, co prowadzi do nadmiernego odczytu bufora w stercie lub potencjalnie innych nieokreślonych skutków.
- CVE-2017-2520Krytyczne
W niektórych produktach Apple odkryto problem związany z komponentem 'SQLite'. Dotyczy to systemów iOS przed wersją 10.3.2, macOS przed wersją 10.12.5, tvOS przed wersją 10.2.1 oraz watchOS przed wersją 3.2.2.
- CVE-2017-2519Krytyczne
W niektórych produktach Apple odkryto problem związany z komponentem 'SQLite'. Dotyczy to systemów iOS przed wersją 10.3.2, macOS przed wersją 10.12.5, tvOS przed wersją 10.2.1 oraz watchOS przed wersją 3.2.2. Problem ten umożliwia zdalnym atakującym wykonanie dowolnego kodu lub spowodowanie odmowy usługi poprzez spreparowane zapytanie SQL.
- CVE-2017-2518Krytyczne
W niektórych produktach Apple odkryto problem związany z komponentem 'SQLite'. Dotyczy to systemów iOS przed wersją 10.3.2, macOS przed wersją 10.12.5, tvOS przed wersją 10.2.1 oraz watchOS przed wersją 3.2.2.
- CVE-2017-2513Krytyczne
Wykryto problem w niektórych produktach Apple, dotyczący komponentu 'SQLite'. Wersje iOS przed 10.3.2, macOS przed 10.12.5, tvOS przed 10.2.1 oraz watchOS przed 3.2.2 są podatne na atak wykorzystujący lukę typu use-after-free, co może prowadzić do wykonania dowolnego kodu lub awarii aplikacji.
- CVE-2026-119591Średnie
SQLite w wersjach przed 3.54.0 zawiera podatność na wyczerpanie stosu w funkcji countOfViewOptimization(). Atakujący może doprowadzić do awarii procesu hosta poprzez count(*) na dużym wielowierszowym klauzuli VALUES. Dostarczenie SQL lub pliku bazy danych ze spreparowanym widokiem może wywołać głęboko zagnieżdżone wyrażenia TK_PLUS, których rekurencyjne zwalnianie w sqlite3ExprDeleteNN() wyczerpuje stos C, powodując odmowę usługi.
- CVE-2026-119586Wysokie
Powłoka wiersza poleceń SQLite do wersji 3.54.1 zawiera podatność na wstrzyknięcie poleceń w komendzie .recover, która dosłownie wypisuje złośliwe polecenia kropkowe zapisane w wartościach sqlite_schema.sql. Atakujący może przygotować bazę danych, której schemat zawiera poprawną instrukcję CREATE, a po niej linię .shell lub .system, co prowadzi do wykonania poleceń systemowych, gdy ofiara przekieruje wynik .recover do sqlite3.
- CVE-2026-119379Wysokie
SQLite w wersjach przed 3.54.0 zbudowany z rozszerzeniem session zawiera przepełnienie bufora na stercie w funkcji sqlite3changeset_apply(). Atakujący może uszkodzić pamięć sterty, dostarczając spreparowane changesety, w których powtórzenie nazwy tabeli w drugim bloku z większą liczbą kolumn powoduje zapis memset poza zbyt małą alokacją aUpdateMask.
- CVE-2026-119378Średnie
SQLite w wersjach przed 3.54.0 zawiera podatność use-after-free w rozszerzeniu R-Tree. Atakujący może zmusić aplikację do użycia zwolnionej pamięci sterty poprzez manipulację tabelą cieni %_node, co prowadzi do awarii procesu.
- CVE-2026-119377Niskie
SQLite przed wersją 3.54.0 zawiera podatność polegającą na obejściu autoryzacji w lookupName(), która wywołuje autoryzator tylko dla kolumny USING pierwszego złączonego stołu. Atakujący mogący przesłać SQL może odpytać wspólną kolumnę USING w złączeniu RIGHT lub FULL, aby odczytać kolumny zabronione przez ograniczenia SQLITE_READ w sqlite3_set_authorizer().
- CVE-2026-119376Średnie
SQLite w wersjach przed 3.54.0 zawiera podatność wyczerpania stosu pozwalającą obejść limit SQLITE_LIMIT_EXPR_DEPTH poprzez łańcuchowe operatory COLLATE. Atakujący może dostarczyć około 175 000 łańcuchowych operatorów COLLATE w SQL lub niezaufanym widoku bazy, wywołując nieograniczoną rekurencję i awarię procesu.
- CVE-2026-119375Średnie
SQLite w wersjach przed 3.54.0 zawiera podatność ujawnienia informacji pozwalającą odczytać niezainicjowaną pamięć page-cache poprzez dostarczenie pliku WAL z niedoszacowanym rozmiarem strony. Atakujący może spreparować bazę i plik WAL, aby zapytania takie jak substr() zwracały nieaktualne bajty, ujawniając wiersze innych tabel i wskaźniki wewnętrzne.
- CVE-2026-119374Wysokie
SQLite w wersjach przed 3.54.0 zbudowany z FTS5 zawiera przepełnienie bufora na stercie w funkcji fts5DoSecureDelete(). Atakujący może zapisać poza bufor strony liścia poprzez spreparowane przesunięcia kluczy w stopce, dostarczając plik bazy danych z uszkodzonym indeksem FTS5, który przy usuwaniu z włączonym secure-delete uszkadza pamięć sterty i powoduje awarię aplikacji.
- CVE-2026-119373Wysokie
SQLite w wersjach przed 3.54.0 zbudowany z FTS5 zawiera przepełnienie bufora na stercie w funkcji fts5MergeRowidLists(). Bufor wyjściowy jest zbyt mały podczas scalania list doclist z prefiksem detail=none. Atakujący, który może wypełnić tabelę FTS5 detail=none ujemnymi rowidami i uruchomić zapytanie MATCH z prefiksem, może zapisać poza alokacją, uszkadzając pamięć sterty i powodując awarię procesu.
- CVE-2026-119372Średnie
SQLite w wersjach przed 3.54.0 zbudowany z FTS3/FTS4 i SQLITE_ENABLE_FTS3_PARENTHESIS zawiera podatność use-after-free w fts3BestSnippet() spowodowaną wiszącymi wskaźnikami do buforowanych list pozycji. Atakujący może uruchomić zapytanie MATCH łączące operatory OR i NEAR z snippet(), aby odczytać zwolnioną pamięć sterty i spowodować awarię procesu.
- CVE-2026-119371Średnie
SQLite w wersjach przed 3.54.0 zawiera podatność wyczerpania stosu pozwalającą obejść limit zagnieżdżenia SQLITE_LIMIT_EXPR_DEPTH, ponieważ wyrażenia wspólne tabel (CTE) nie są wliczane do limitu. Atakujący może dostarczyć klauzulę WITH łańcuchową z dziesiątkami tysięcy CTE, wywołując nieograniczoną rekurencję selectExpander() i awarię procesu.
- CVE-2026-69867Wysokie
Odczyt poza zakresem w SQLite umożliwia uprawnionemu atakującemu lokalne podniesienie uprawnień.
- CVE-2026-39113Średnie
Podatność na przepełnienie bufora w SQLite dotyczy wersji źródłowych zawierających konkretny commit Fossil. Atakujący może wykorzystać tę podatność do wywołania odmowy usługi poprzez komponenty związane z funkcją sqlar_uncompress.
- CVE-2026-50813Średnie
Podatność w SQLite przed zmianą Fossil 869a51ae84df umożliwia lokalnemu atakującemu uzyskanie wrażliwych informacji poprzez ścieżkę scalania zmian w rozszerzeniu Session Extension (concat/changegroup).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

