Хакер #305. Многошаговые SQL-инъекции
Исследователи Guardio Labs обнаружили RCE-уязвимость в браузере Opera для Windows и macOS, которую можно использовать для выполнения любого файла в операционной системе. Проблема получила название MyFlaw, поскольку эксплуатирует функцию My Flow в Opera, позволяющую синхронизировать сообщения и файлы между мобильными и десктопными устройствами.
Проблема затрагивает браузеры Opera и Opera GX и была обнаружена еще 17 ноября 2023 года. Так как исследователи сразу сообщили об уязвимости разработчикам, проблема была устранена еще в прошлом году — в составе обновлений, вышедших 22 ноября 2023 года.
Исследователи рассказывают, что My Flow представляет собой похожий на чат интерфейс для обмена заметками и файлами, которые могут быть открыты через веб-интерфейс, то есть файл может быть выполнен за пределами границ безопасности браузера.
My Flow предустановлен в Opera и поддерживается с помощью встроенного расширения под названием Opera Touch Background, которое отвечает за связь со своим мобильным аналогом.
Это расширение поставляется с собственным файлом манифеста, в котором указаны все необходимые разрешения, включая externally_connectable, определяющее, какие веб-страницы и расширения могут подключаться к нему. Так, домены, которые могут взаимодействовать с расширением, должны соответствовать шаблонам *.flow.opera.com и .flow.op-test.net, которые контролируются самими разработчиками браузера.
Однако при помощи сканера urlscan.io исследователям Guardio Labs удалось обнаружить «давно забытую» версию лендинга My Flow, расположенную на домене web.flow.opera.com.
«Сама страница выглядит точно так же, как и текущая, но изменения кроются под капотом: на ней не только отсутствует мета-тег [content security policy], но и присутствует тег script, вызывающий файл JavaScript без какой-либо проверки целостности, — гласит отчет экспертов. — Это именно то, что нужно злоумышленнику — небезопасный, забытый, уязвимый для инъекций кода ресурс, который имеет доступ к высоко привилегированному нативному API браузера».
Далее созданная исследователи атака использовала специально разработанное расширение. Оно побуждало пользователя кликнуть в любом месте экрана и использовалось для передачи зашифрованного пейлоада через модифицированный JavaScript-файл на хост для последующего выполнения.
«Атака осуществляется с помощью подконтрольного [злоумышленнику] расширения для браузера, которое эффективно обходит песочницу и весь процесс браузера в целом», — поясняют исследователи.
Разработчики Opera заявили, что, получив информацию об уязвимости, они не только оперативно исправили ситуацию на стороне сервера, но также приняли меры для предотвращения повторного возникновения подобных проблем.
«Наша текущая структура использует стандарт HTML и это наиболее безопасный вариант, который не нарушает ключевую функциональность, — комментируют в компании. — После того как Guardio предупредили нас об этой уязвимости, мы устранили причину этих проблем и делаем все возможное, чтобы подобные проблемы не возникали в будущем».