Xakep #305. Многошаговые SQL-инъекции
Группа исследователей, в которую вошли специалисты испанского Университета Деусто и французского исследовательского центра Eurecom, рассказала о незакрытой уязвимости, которая представляет опасность практически для всех современных браузеров. Специалисты сообщают, что проблема актуальна для Chrome, Firefox и Safari, а также других связанных с Chromium браузеров, таких как Opera, «Яндекс браузер» и Comodo Dragon.
Обнаруженный баг позволяет атакующему с точностью 100% определить, какие именно расширения установлены у пользователя. Затем эта информация может быть использована для деанонимизации и отслеживания людей, использующих VPN и Tor, а также для создания так называемых «рекламных профилей».
Исследователи объясняют, что все дело в работе WebExtensions API, который также применяют новые версии Firefox, Edge, Vivaldi и Brave. Специалисты говорят, что не тестировали данные браузеры, но, вероятнее всего, они тоже уязвимы перед найденной проблемой.
Дело в том, что WebExtensions API запрещает злоумышленникам сбор информации об установленных расширениях, а также их внутренних файлах и ресурсах, при помощи специального файла manifest.json. Но специалисты выяснили, что браузерам, использующим Chromium WebExtensions API, нужно чуть больше времени для ответа на запрос от сайта, если тот запрашивает информацию о локальных файлах для несуществующего расширения. Запросы для фейкового и настоящего расширений будут выглядеть так:
- chrome-extension://[fakeExtID]/[fakePath]
- chrome-extension://[realExtID]/[fakePath]
В итоге, используя такие запросы и незначительную разницу во времени ответа, злоумышленники могут понять, какие расширения установлены в браузере пользователя, а какие нет.
Специалисты пишут, что старый API Firefox, базирующийся на XML, также уязвим перед подобными атаками. Хуже того, на случай запроса несуществующего дополнения, Firefox предусматривает специальные ошибки, что даже упрощает дело.
Хотя Safari не использует файлы manifest.json и генерирует случайный URL для каждой сессии, браузер тоже уязвим. Исследователи говорят, что в случае Safari нужно лишь «угадать» случайный URL, что, как показало тестирование, не так трудно: специалисты справились с задачей в 40,5% случаев.
С подробным докладом специалистов можно ознакомиться здесь (PDF).