В Chrome, Firefox и Safari под Linux и macOS зияет «дыра» для хакеров, о которой все знают 18 лет
Уязвимость, о которой впервые сообщили еще в 2006 г., оставалась неисправленной все эти годы. Возможно, теперь ее, наконец, устранят.
Многонулевой день
Все популярные браузеры под macOS и Linux содержат древнюю уязвимость, которая позволяет взламывать чужие сети с помощью специально созданных вредоносных сайтов. Уязвимость под названием «0.0.0.0 Day», как выясняется, оставалась незамеченной 18 лет – с 2006 г.
Как установили эксперты израильской компании Oligo Security, проблема заключается в том, как браузеры обрабатывают сетевые запросы: сыграли свою роль слабо реализованные механизмы безопасности и отсутствие единого стандарта в разных браузерах.
В результате «невинный» IP-адрес 0.0.0.0 можно использовать для компрометации локальных сетевых служб и через них получать и несанкционированный доступ в корпоративные сети, и запускать произвольный код. 0.0.0.0 Day затрагивает Google Chrome/Chromium, Mozilla Firefox и Apple Safari – они предоставляют возможность взаимодействовать с локальным ПО в средах macOS и Linux. Версии браузеров под Windows уязвимости не подвержены, поскольку IP-адрес 0.0.0.0 блокируется на уровне операционной системы.
Эксперты Oligo Security отмечают, что в уязвимых версиях домены зоны .com могут взаимодействовать со службами, запущенными в локальной сети, и выполнять произвольный код на хосте посетителя, используя адрес 0.0.0.0 (вместо localhost/127.0.0.1).
Уязвимость позволяет также обходить защитный механизм Private Network Access (PNA), который призван предотвращать прямое взаимодействие общедоступных веб-сайтов с эндпойнтами в частных сетях.
Любое приложение, которое запускается на локальном хосте и может быть доступно через адрес 0.0.0.0, подвержено уязвимости – в нем можно запустить произвольный код.
18 лет и 4 месяца уязвимости
Информация об уязвимости была передана разработчикам браузеров в апреле 2024 г. В ближайшем будущем ожидается, что в этих браузерах будет перекрыт доступ к 0.0.0.0.
«Когда службы используют localhost, они предполагают функционирование в ограниченной среде. Однако это предположение (как в случае с данной уязвимостью) может быть ошибочным, что приводит к небезопасной серверной реализации, – написал Ави Люмельски (Avi Lumelsky), эксперт Oligo Security. – Используя 0.0.0.0 вместе с режимом no-cors, злоумышленники могут использовать публичные домены для атаки на службы, функционирующие в localhost и добиваться запуска произвольного кода, используя всего лишь один HTTP-запрос».
Уязвимость присутствовала в браузерах с 2006 г. Как оказалось, еще тогда в баг-трекере Mozilla появилось заявление об ошибке, и оно оставалось неисправленным до самого последнего времени, лишь изредка меняя статус. Первые атаки с использованием уязвимости задокументированы тогда же, в 2006-м.
«По сути уязвимость время от времени эксплуатировали на протяжении почти двух десятилетий, но это не сподвигло разработчиков обратить на нее должное внимание, – отмечает Анастасия Мельникова, директор по информационной безопасности компании SEQ. – Подобные сюжеты всегда вызывают большие вопросы касательно отношения разработчиков к кибербезопасности и нахождения ее в списке их приоритетов».
Стоит отметить, что браузер Chrome появился только в 2008 г., но уязвимость перетекла и в него – по-видимому, вместе с унаследованными компонентами Firefox.