Badacze bezpieczeństwa z chińskiej firmy Tencent nowa wersja podatności (), umożliwiającej wykonanie kodu podczas przetwarzania w bazie danych SQLite w określony sposób sformatowanych konstrukcji SQL. Podobna podatność była odkryta przez tych samych badaczy rok temu. Podatność jest szczególnie istotna, ponieważ umożliwia zdalny atak na przeglądarkę Chrome, co pozwala na przejęcie kontroli nad systemem użytkownika przy otwieraniu złośliwych stron internetowych.
Atak na Chrome/Chromium przeprowadzany jest przez API WebSQL, którego obsługa opiera się na kodzie SQLite. Atak na inne aplikacje jest możliwy jedynie, jeśli pozwalają na przesyłanie do SQLite konstrukcji SQL pochodzących z zewnątrz, np. wykorzystują SQLite jako format wymiany danych. Firefox nie jest podatny na te luki, ponieważ firma Mozilla zrezygnowała z implementacji WebSQL w API IndexedDB.
Google usunął problem w wydaniu . W bazie kodu SQLite problem został naprawiony 17 listopada, a w bazie kodu Chromium — .
Problem występuje w silniku pełnotekstowego wyszukiwania FTS3 i poprzez manipulację z tabelami pomocniczymi (shadow tables, szczególny rodzaj tabel wirtualnych z możliwością zapisu) może prowadzić do uszkodzenia indeksu i przepełnienia bufora. Szczegółowe informacje na temat techniki ataku zostaną opublikowane za 90 dni.
Nowa wersja SQLite z poprawką na razie ( 31 grudnia). Jako obejście zabezpieczające od wersji SQLite 3.26.0 można stosować tryb SQLITE_DBCONFIG_DEFENSIVE, który zabrania zapisu w tabelach pomocniczych i jest zalecany do włączenia przy przetwarzaniu zewnętrznych zapytań SQL w SQLite. W dystrybucjach podatność w bibliotece SQLite wciąż pozostaje nieusunięta w , , , , , , . Chromium we wszystkich dystrybucjach już zostało zaktualizowane i nie jest podatne na tę lukę, ale problem może obejmować różne przeglądarki i aplikacje stron trzecich korzystające z silnika Chromium, a także aplikacje na Androida oparte na Webview.
Dodatkowo w SQLite wykryto также 4 mniej niebezpieczne problemy (, , , ), które mogą prowadzić do wycieku informacji i omijania ograniczeń (mogą być używane jako czynniki towarzyszące ataku na Chrome). Wskazane problemy zostały rozwiązane w kodzie SQLite 13 grudnia. Łącznie problemy te pozwoliły badaczom przygotować działający exploit, umożliwiający wykonanie kodu w kontekście procesu Chromium odpowiedzialnego za renderowanie.
Źródło: opennet.ru
