Описание угрозы
Осенью текущего года эксперты Tencent Security обнаружили в SQLite опасную проблему, которая получила название Magellan. Уязвимость позволяет исполнять произвольный код, приводит к утечке памяти программ, «падениям» приложений и в общей сложности угрожает тысячам мобильных и десктопных продуктов. Так как SQLite можно обнаружить в составе самых разных решений, проблема может затрагивать IoT-устройства, десктопный софт, браузеры и приложения для iOS и Android.
На что направлена
СУБД SQLite версии 3.25.3 и старше.
Способ реализации
Эксплуатировать баг можно удаленно, через простое посещение вредоносной страницы. Главное условие – чтобы браузер поддерживал SQLite и API Web SQL, который «переведет» код эксплоита в обычный SQL-синтаксис. Так как браузеры Firefox и Edge не поддерживают данный API, они вне опасности. Впрочем в Firefox все же есть локальная БД SQLite, то есть проблему может эксплуатировать локальный атакующий. Однако Chromium-браузеры, такие как Google Chrome, Vivaldi, Opera и Brave, оказались в худшем положении и подвержены уязвимости удаленно.
Базовые меры по противодействию
Исправление бага Magellan было представлено с релизом SQLite 3.26.0. Патч уже портировали в Chromium, а также в Google Chrome 71.0.3578.80. Так как Vivaldi и Brave работают с последними версиями Chromium, их пользователям не о чем беспокоиться. Однако разработчики Opera по-прежнему отстают на один релиз, а значит, браузер все еще уязвим.
Дополнительная информация
Исследователи подчеркивают, что браузеры – это не единственные цели для потенциальных атак. Ведь точно так же перед Magellan уязвимы и многие приложения, включая, например, Google Home, и другие продукты Adobe, Apple, Dropbox, Firefox, Android, Chrome, Microsoft и так далее.
Невзирая на выход патча, множество продуктов могут вообще не получить исправлений еще долгое время, так как обновление БД движка в любом декстопном, мобильном или веб-приложении – это, как правило, сложный процесс, который может привести к порче данных, и многие администраторы будут избегать этого до последнего.
Ссылки на источники
- https://xakep.ru/2018/12/17/magellan/
- https://worthdoingbadly.com/sqlitebug/ (PoC – демонстрация)