Браузер 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 занимается решением проблемы, энтузиасты разработали мини-игру по мотивам ошибки. Пользователю предлагается провести курсором мыши по дорожке из медведей на экране, избегая соприкосновения с елями. Если курсор коснется ели — вкладка закроется. Сначала предлагается пройти простую дорожку, но по мере прохождения уровней сложность возрастает.