Браузер Chrome можно «уронить» простой последовательностью символов

Безопасность
мобильная версия
, Текст: Сергей Попсулин

Ошибка в браузерах Chrome и Opera на базе движка Chromium закрывает вкладку при наведении курсора на ссылку или целиком всю программу - при нажатии на ее. 


Ошибка в Google Chrome и Opera

Ошибка в Google Chrome ведет к падению браузера при нажатии на ссылку с несколькими добавленными символами или закрытию вкладки при наведении на такую ссылку, рассказал в своем персональном блоге исследователь Андрис Аттека (Andris Atteka).
 
По словам исследователя, ошибка присутствует в Chrome 45.0.2454.99 для Windows. Редакция CNews также убедилась в ее наличии в новой версии Chrome (45.0.2454.99) для OS X. Зарубежные обозреватели также сообщают о наличии ошибки в Linux-версии браузера.

Как уточняет Register, уязвимость также присутствует в Opera версии 32, базирующейся на движке Chromium 45. В то же время издание отмечает, что в Chrome для Android никаких проблем не замечено. 

Суть ошибки

Суть ошибки заключается в следующем. При добавлении в конец URL выражения %%300, оно конвертируется в %00, так как %30 обозначает «0» в таблице ASCII. Получается следующий набор символов: оригинальный «%», конвертированный «0» и оригинальный «0» (вместе — «%00»). Таким образом, в конце строки появляется  нулевой байт. Далее URL поступает в функцию GURLToDatabaseURL(), которая вызывает другую функцию — ReplaceComponents(). URL обрабатывается заново, но уже с нулевым байтом. Программа понимает, что так не должно быть, и помечает URL некорректным. Далее происходит возврат к функции GURLToDatabaseURL(), которая ожидает, что ссылка будет работать. Однако ссылка не работает, что является невозможным событием, происходит вызов DCHECK() и падение программы.


Примеры вредоносных ссылок

Не первая подобная ошибка

Исследователям не в первый раз удается «уронить» Google Chrome простой последовательностью символов. В апреле 2015 г. была найдена ошибка, ведущая к сбою в работе программы при загрузки веб-страницы с вредоносной ссылкой, а в мае 2105 г. аналогичный баг был найден в версии Chrome для OS X. Он позволял завершить работу программы с помощью 13 символов.

 
Игра по мотивам ошибки

Реакция пользователей

Пока Google занимается решением проблемы, энтузиасты разработали мини-игру по мотивам ошибки. Пользователю предлагается провести курсором мыши по дорожке из медведей на экране, избегая соприкосновения с елями. Если курсор коснется ели — вкладка закроется. Сначала предлагается пройти простую дорожку, но по мере прохождения уровней сложность возрастает.