Специально сформированная ссылка приводит к падению популярного браузера

Ошибка

Экспертом по информационной безопасности Andris Atteka была обнаружена забавная бага обработки адресов в популярном браузере Google Chrome 45.0.2454.93.

В качестве уязвимой ссылки нужно дописать к произвольному адресу строку “%%300”, при открытии такой ссылки происходит аварийное завершение браузера.

Ошибка
Ошибка

Происходит это из-за следующей последовательности операций:

  1. Последовательность символов %%300 (я раскрашу по цветам) преобразуется следующим образом (%30 конвертируется в символ “0“, затем происходит слияние %30, которые снова преобразуются в 0), таким образом получается нулевой байт в конце.
  2. Указанный URL передаётся в функцию GURLToDatabaseURL(), которая в свою очередь передаёт этот адрес в функцию ReplaceComponents().
  3. В этот раз функция помечает строку как неправильную из-за нулевого байта в конце.
  4. Адрес возвращается по стеку вверх в функцию GURLToDatabaseURL(), где вызывается функция spec(), ожидая, что адрес корректный.
  5. Из-за неверного URL происходит обращение к DCHECK(), что приводит к аварийному завершению браузера.

Остаётся надеяться, что разработчики оперативно исправят эту ошибку, пока злоумышленники не начали рассылать неправильные ссылки с целью падения локальных браузеров.

Ссылка для проверки! БУДЬТЕ ОСТОРОЖНЫ! ДАЖЕ НАВЕДЕНИЕ УКАЗАТЕЛЯ МЫШИ МОЖЕТ ЗАВЕСИТЬ ВКЛАДКУ!

Развернуть »

Ну как? Удалось?


Like this post? Please share to your friends:

Comments:

Comments: 5
  1. PrihoD

    Ну что, все у себя попробовали? :) Я да!

    1. litladmin (автор)

      Сработало?

      1. PrihoD

        о да ) Хорошо, что вкладки можно восстанавливать при сбойном закрытии браузера

  2. stormbringer

    Надо же! Сработало!

  3. BOMBERuss

    Еще было что-то с отсылкой огромного количества символов в строку ввода адреса, но это для Android.

Leave a Reply