Вразливість у SQLite, що дозволяє віддалено атакувати Chrome через WebSQL

Дослідники безпеки з китайської компанії Tencent представили новий варіант уразливості Magellan (CVE-2019-13734), що дозволяє домогтися виконання коду при обробці в СУБД SQLite певним чином оформлених SQL-конструкцій. Схожа вразливість була опубліковано тими ж дослідниками рік тому. Вразливість примітна тим, що дозволяє віддалено атакувати браузер Chrome і досягти контролю над системою користувача при відкритті підконтрольних зловмиснику web-сторінок.

Атака на Chrome/Chromium здійснюється через API WebSQL, обробник якого ґрунтується на коді SQLite. Атака на інші програми можлива лише якщо вони допускають передачу в SQLite SQL-конструкцій, що надходять ззовні, наприклад, використовують SQLite як формат обміну даними. Firefox уразливості не схильний, оскільки компанія Mozilla відмовилися від реалізації WebSQL в користь API IndexedDB.

Google усунув проблему у випуску Chrome 79. У кодовій базі SQLite проблема була виправлена 17 листопада, а в кодовій базі Chromium - 21 листопада.
Проблема присутня в коді движка повнотекстового пошуку FTS3 і через маніпуляцію з тіньовими таблицями (shadow tables, особливий вид віртуальних таблиць з можливістю запису) може призвести до пошкодження індексу та переповнення буфера. Детальна інформація про техніку експлуатації буде опублікована через 90 днів.

Новий реліз SQLite з виправленням поки що не сформовано (очікується 31 грудня). Як обхідний шлях захисту, починаючи з SQLite 3.26.0, може використовуватися режим SQLITE_DBCONFIG_DEFENSIVE, який забороняє запис у тіньові таблиці та рекомендований для включення при обробці зовнішніх SQL-запитів у SQLite. У дистрибутивах уразливість у бібліотеці SQLite поки що залишається невиправленою в Debian, Ubuntu, RHEL, openSUSE / SUSE, Arch Linux, Fedora, FreeBSD. Chromium у всіх дистрибутивах вже оновлений і не схильний до вразливості, але проблема може охоплювати різні сторонні браузери та додатки, що використовують двигун Chromium, а також Android-додатки на базі Webview.

Додатково в SQLite також виявлено 4 менш небезпечні проблеми (CVE-2019-13750, CVE-2019-13751, CVE-2019-13752, CVE-2019-13753), які можуть призвести до витоку інформації та обходу обмежень (можуть використовуватися як супутні фактори для атаки на Chrome). Зазначені проблеми усунуті у коді SQLite 13 грудня. У сукупності проблеми дозволили дослідникам підготувати робочий експлоїт, що дозволяє виконати код у контексті процесу Chromium, що відповідає за малювання.

Джерело: opennet.ru

Додати коментар або відгук