Мир: Несколько символов в адресной строке позволяют аварийно завершить работу Google Chrome

2

Ошибка в последней версии Google Chrome позволяет аварийно завершить работу браузера с помощью простейшей ссылки URL. Об этом сообщил ИБ-эксперт Андрис Аттека (Andris Atteka). По словам Аттеки, открытие любой ссылки http:// и file:// со вставленной последовательностью символов %%300 в конце ссылки вызовет аварийное завершение работы браузера. Данный способ отказа в обслуживании работает в браузерах Chrome 45.0.2454.93 на OS X El Capitan, Windows 8 и Windows 10, а также на Opera 32.0 – обозревателе, работающем на основе Chromium 45. Издание The Register подробно описало причину завершения работы браузера:


Последовательность %%300 в конце ссылки конвертируется в %00 (0x30 является ASCII-кодом для “0”). Строчно %%300 принимает следующий вид: оригинальный символ %, сконвертированный символ 0 и оригинальный символ 0. В сочетании получается %00, в связи с чем в конец web-адреса прикрепляется нулевой байт;

URL передается функции GURLToDatabaseURL(), которая вызывает функцию ReplaceComponents();

Происходит повторная обработка URL – на этот раз с нулевым байтом. Функция помечает URL как неправильный из-за нулевого байта;

URL возвращается к функции GURLToDatabaseURL(). Ожидается, что URL корректный, в связи с чем происходит вызов функции spec();

Поскольку URL неверный, функция обращается к DCHECK(). Происходит аварийное завершение работы браузера. Команда специалистов уже работает над устранением неисправности. (Google/NovostIT)