Простая ошибка в Chrome, Firefox и Safari позволяет легко «уронить» ПК

Интернет Интернет-ПО
мобильная версия
, Текст: Сергей Попсулин
Веб-браузеры Chrome, Firefox и Safari не проверяют размер файла favicon.ico, который может содержаться на некоторых сайтах. В результате, если этот размер чрезмерно велик, браузер и ОС зависают.

В веб-браузерах Google Chrome, Mozilla Firefox и Apple Safari найдена ошибка, которая приводит к зависанию приложения и всей операционной системы, сообщил пользователь GitHub с ником stuartpb. Ошибка была протестирована на OS X 10.10 Yosemite (на Windows и Linux тесты не проводились).

При открытии любого сайта браузер пытается загрузить с веб-сервера «иконку» ресурса (favicon.ico), если он предусмотрен веб-разработчиком. Проблема заключается в том, что браузер не проверяет размер файла favicon.ico. Поэтому если сделать его, например, равным 10 ГБ, то происходит переполнение оперативной памяти, и компьютер перестает реагировать на действия пользователя. При этом никакой индикации о выполнении загрузки не отображается.

Ошибка содержится в последних версиях указанных браузеров — Chrome 43.0.2357.124, Firefox 38.0.5. Подверженная ошибке версия Safari не уточняется.

По словам stuartpb, на исследование загрузки браузером файлов favicon.ico бесконечного размера его натолкнула запись одного из пользователей Twitter. Он рассказал, что на одном из сайтов на платформе Wordpress файл favicon.ico в действительности оказался переименованным TAR-архивом с резервной копией сайта. Несмотря на размер в 64 МБ и сомнительное содержание браузеры безропотно загружали этот файл.