Уязвимость DNS rebinding в rojo serve (CVE-2026-97875)
В HTTP API команды `rojo serve` (порт по умолчанию 34872) отсутствует проверка заголовков Host и Origin, что открывает возможность для DNS rebinding-атак. Посетив вредоносную веб-страницу, злоумышленник может прочитать все исходники проекта, записать в файлы произвольный код и запустить локальные программы без какого-либо взаимодействия с пользователем. Уровень критичности — HIGH (CVSS 8.1).
Подробности
Уязвимость относится к классу DNS rebinding. Из-за отсутствия валидации заголовка Host атакующий может через управляемый им DNS-домен заставить браузер жертвы обращаться к локальному сервису `rojo serve`, воспринимая его как доверенный ресурс. Заголовок Origin также не проверяется, что снимает дополнительный барьер для межсайтовых запросов. Последствия эксплуатации серьёзны. Вредоносная веб-страница способна: - прочитать всё содержимое проекта, доступное через API rojo serve, то есть исходный код; - записать произвольный код в файлы на диске жертвы; - запустить локальные программы через вызов `opener::open()`. Ключевая особенность — атака не требует никаких действий пользователя помимо простого посещения страницы. Никаких диалогов, подтверждений или кликов не предусмотрено. Уязвимыми являются версии пакета `rojo` от rojo-rbx, в которых присутствует описанное поведение HTTP API. Точные границы уязвимых и исправленных версий в записи CVE не указаны, поэтому разработчикам следует ориентироваться на официальные рекомендации мейнтейнеров проекта.Что делать
Основная рекомендация — обновить rojo до версии, в которой устранена проблема. Следите за релизами и официальными уведомлениями rojo-rbx: исправление должно добавлять валидацию заголовков Host и Origin. Если обновление пока невозможно, примените митигации: - не держите `rojo serve` запущенным дольше, чем это необходимо, и завершайте процесс сразу после работы; - ограничьте доступ к порту 34872 средствами локального файрвола, разрешив подключения только с localhost и доверенных адресов; - не посещайте сторонние веб-страницы в том же браузере, пока активен сервер rojo serve; - по возможности используйте изолированные окружения или отдельные браузерные профили для работы с локальными сервисами разработки. Дополнительно стоит проверить содержимое проектов на предмет несанкционированных изменений, если сервер длительное время был доступен при работе в интернете. Итог: CVE-2026-97875 — серьёзная уязвимость с высоким риском, позволяющая при простом посещении вредоносного сайта получить доступ к исходникам, изменить файлы и запустить код на машине разработчика. Единственный надёжный способ защиты — обновление до исправленной версии rojo; до этого рекомендуется ограничить время работы сервера и доступ к порту 34872.Источник: CVE Project (cvelistV5)
