Осенью текущего года эксперты Tencent Security обнаружили в SQLite опасную проблему, которая получила название Magellan (CVE идентификатор еще не присвоен). Баг позволяет исполнять произвольный код, приводит к утечке памяти программ, «падениям» приложений и в общей сложности угрожает тысячам мобильных и десктопных продуктов. Так как SQLite можно обнаружить в составе самых разных решений, проблема может затрагивать IoT-устройства, десктопный софт, браузеры и приложения для iOS и Android.
Исследователи рассказывают, что эксплуатировать новый баг можно удаленно, через простое посещение вредоносной страницы. Главное условие – чтобы браузер поддерживал SQLite и API Web SQL, который «переведет» код эксплоита в обычный SQL-синтаксис. Так как браузеры Firefox и Edge не поддерживают данный API, они вне опасности. Впрочем в Firefox все же есть локальная БД SQLite, то есть проблему может эксплуатировать локальный атакующий. Однако Chromium-браузеры, такие как Google Chrome, Vivaldi, Opera и Brave, оказались в худшем положении и подвержены уязвимости удаленно. Демонстрацию, которая вызывает «падение» вкладки Chrome, можно найти здесь.
Исследователи подчеркивают, что браузеры – это не единственные цели для потенциальных атак. Ведь точно так же перед Magellan уязвимы и многие приложения, включая, например, Google Home, и другие продукты Adobe, Apple, Dropbox, Firefox, Android, Chrome, Microsoft и так далее.
Исправление бага Magellan было представлено с релизом SQLite 3.26.0, появившемся 1 декабря 2018 года. Патч уже портировали в Chromium, а также в Google Chrome 71.0.3578.80, вышедший недавно. Так как Vivaldi и Brave работают с последними версиями Chromium, их пользователям не о чем беспокоиться. Однако разработчики Opera по-прежнему отстают на один релиз, а значит, браузер все еще уязвим.
Невзирая на выход патча, множество продуктов могут вообще не получить исправлений еще долгое время, так как обновление БД движка в любом декстопном, мобильном или веб-приложении – это, как правило, сложный процесс, который может привести к порче данных, и многие администраторы будут избегать этого до последнего.
Принимая во внимание это обстоятельство, а также количество потенциально уязвимых перед Magellan решений, исследователи Tencent Security пока не публикуют никаких proof-of-concept эксплоитов и глубоких деталей проблемы. Впрочем, это не значит, что такой же позиции будут придерживаться и другие ИБ-специалисты. Многие уже начали реверсить патч и изучать свежую уязвимость.
Was looking at the SQLite 3.25 branch looking for the Magellan SQLite bug: https://t.co/6GtdJPiSUZ could this be it? https://t.co/qdEOdMbKvC No linked bug in tracker, likely reachable via Chrome's WebSQL.
— Zhuowei Zhang (@zhuowei) December 14, 2018