Компания Oligo Security опубликовала информацию об уязвимости, затрагивающей Chrome, Firefox и Safari, и позволяющей обойти ограничение доступа к сетевым службам, доступным только на локальной системе, через обращение по IP-адресу 0.0.0.0. Первые предупреждения об уязвимости были опубликованы ещё 18 лет назад, но до сих пор проблема так и не была исправлена.
Уязвимость, которая проявляется только в Linux и macOS, вызвана тем, что IP-адрес 0.0.0.0 на данных платформах приводит обращению к локальному сетевому интерфейсу (localhost), т.е. отправка запроса на 0.0.0.0 аналогична запросу к адресу 127.0.0.1. В современных браузерах имеются средства для противодействия обращению к 127.0.0.1 при работе с внешними сайтами, так как оно может использоваться для манипуляций с внутренними сервисами на системе пользователя, доступными только локальным приложениям.
Уявзимость позволяет обойти запрет обращения к 127.0.0.1 и организовать атаку на внутренние сервисы при открытии в браузере внешней страницы, подконтрольной атакующему. При обращении через 0.0.0.0 механизмы CORS (Cross-Origin Resource Sharing) и PNA (Private Network Access) не могут помешать совершению подобной атаки. Отмечается, что проблема не столь безобидна, как кажется, и уже используется злоумышленниками в процессе совершения реальных атак, эксплуатирующих критические уязвимости в серверных приложениях, доступ к которым открыт только для локальной системы.
Например, использование 0.0.0.0 для доступа к локальным сервисам зафиксировано в выявленных в марте и июле атаках ShadowRay и Selenium Grid, которые использовались для организации выполнения кода на системах разработчиков. В случае атаки ShadowRay целью были системы разработчиков, использующих AI-фреймворк Ray. Вторая атака была нацелена на эксплуатацию критической уязвимости в платформе Selenium Grid в конфигурациях, принимающих запросы только с локального хоста.
Дополнительно, упоминается возможность применения метода для эксплуатации уязвимости ShellTorch в сервере PyTorch TorchServe, используемом на компьютерах разработчиков AI-приложений. Доступ к сетевым сервисам локального хоста также может использоваться для сканирования сетевых портов с целью косвенной идентификации пользователя.
Разработчики Firefox подготовили изменение спецификации для вызова Fetch, запрещающее доступ к 0.0.0.0, но пока не определили время начала блокировки в браузере. В Chrome доступ к 0.0.0.0 планируют начать блокировать в выпуске Chrome 128, ожидаемом на следующей неделе. В Safari блокировку 0.0.0.0 планируют реализовать в выпуске Safari 18.