В блоге разработчиков браузера Chromium опубликована вторая история с хакерского конкурса Pwnium. Напомним, тогда было получено два качественных эксплойта для Chrome. Автор каждого из них — PinkiePie и Сергей Глазунов — получил по $60 тыс. в качестве вознаграждения от компании Google.

В первой части детально рассказано об эксплойте PinkiePie. История довольно интересная: чтобы добиться исполнения произвольного кода и взломать песочницу Chrome, ему пришлось виртуозно использовать цепочку из шести багов.

Сейчас пришло время рассказать о ещё более сложном эксплойте российского студента Сергея Глазунова, который является постоянным участником программы Chromium Security Reward и имеет в своём активе десятки найденных уязвимостей. В данном случае была использована цепочка из 14 багов.

Эксперты из компании Google пишут, что в работе Сергея их больше всего удивила, что в цепочке вообще не используются уязвимости с повреждением памяти. Всё начинается с бага Universal Cross-Site Scripting (UXSS), который Сергей творчески использовал для атаки на WebUI, встроенный в Chrome. Как известно, этот браузер открывает некоторые страницы как URL вида chrome://, у этих страниц есть доступ к привилегированным интерфейсам JavaScript API. Сергей обнаружил, что при ссылке на несуществующее расширение chrome-extension:// в браузере генерируется страница с сообщением об ошибке chrome://chromewebdata, и эта страница принадлежит к числу немногих внутренних страниц, для которых не прописаны правила Content Security Policy (CSP), так что здесь можно успешно применить эксплойт UXSS.

Для реализации задуманного Сергею пришлось найти способы обхода ряда защитных механизмов Chrome, здесь он использовал несколько уязвимостей: 117583, 117417, 117418, 118467 и 113496.

Компании Google понадобилось почти три месяца, чтобы закрыть все описанные баги и удостовериться в неуязвимости отдельных компонентов системы против UXSS, так что они только сейчас смогли опубликовать подробности этой истории.



Оставить мнение