Ошибка в последней версии 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(). Происходит аварийное завершение работы браузера.
Команда специалистов уже работает над устранением неисправности.