Обзор Metro4Shell CVE‑2025‑11953
3 февраля 2026 г.·234 views

🥶 Обзор Metro4Shell CVE‑2025‑11953

Салют,

Начала повсеместно светиться интересная уязвимость в React Native Community CLI (Metro dev server), которая может тебе помочь детальнее разобраться в атаках типа RCE.

RCE (Remote Code Execution), - удалённое выполнение кода при которой злоумышленник может удалённо выполнять произвольные команды на целевой системе без физического доступа к ней. То есть возникает из-за бага позволяющей подменить данные приложение вместо заложенной логики.

INTRO CVE‑2025‑11953

JFrog обнаружил Critical RCE‑уязвимость: Metro биндится на внешние интерфейсы и предоставляет HTTP‑эндпоинт: /open-url , который передаёт не проверенный ввод в функцию open() из npm‑пакета open, что приводит к OS Сommand Injection.

CVE‑2025‑11953 allows unauthenticated OS command execution on exposed Metro dev servers, with attacks deploying PowerShell and a Rust payload

Позволяет не аутентифицированному атакующему отправить POST‑запрос на /open-url и выполнить произвольный исполняемый файл или shell на тачке, где запущен Metro dev server, которая затрагиваются версии @react-native-community/cli-server-api с 4.8.0 до 20.0.0‑alpha.2, используемые стандартными командами react-native run-android, run-ios, start.

Атакующие сканирует на доступные Metro‑порты (8081) и отправляют POST на /open-url с Base64 PowerShell‑payload. Скрипт в примере VulnCheck добавляет исключения в Microsoft Defender, устанавливает TCP‑соединение с C2‑сервером 8.218.43.248:60124 , скачивает Rust‑бинарь во временный каталог и запускает его, обеспечивая RCE и возможное закрепление.

Тут ты явно видишь риски утечки конфииденциальных данных по инфраструктуре, а также киберпреступления.

Возможности

• Полный RCE запустившего Metro

• Доступ к исходному коду и конфигурациям dev‑проектов, включая .env, токены облаков, VPN‑конфиги, SSH‑ключи

• Dev тачки как pivot‑точки для lateral movement в корпоративной сети (аналогично Vice Society/ Magniber использовали PrintNightmare для распространения вымогателей, вот тут почекай мою отдельную аналитику, которую давал для лаб)

Эксплуатация уязвимости

• masscan/ nmap/ shodan для поиска Metro, а также открытых портов типа 8081 и наличия /open-url

• Отправка crafted POST‑запроса на /open-url с параметром запуска PowerShell или оболочки Base64‑кодированный powershell -EncodedCommand

• Payload PowerShell отключает САВЗ (антивирус), скачивает Rust bin, запускает и злоумышленник получает устойчивый удалённый доступ и возможность дальнейших операций

Меры снижения риска

• React Native Community @react-native-community/cli до версий, в которых CVE‑2025‑11953 исправлена по информациям из баз Wiz/ NVD

• Забиндить Metro dev server на 127.0.0.1, вместо 0.0.0.0, и закрыть порт фаерволом для внешних адресов

• Проверить lock‑файлы: package-lock.json, yarn.lock, pnpm-lock.yaml на дереве зависимостей

• Мониторинг запросов к /open-url и PowerShell с Base64‑payload

• Запрет на исходящие соединениям к подозрительным хостам и портам, как пример 8.218.43.248:60124

• Обновить секреты

• Запретить Metro на тачках доступных напрямую из интернета, и на shared‑серверах

• Проверить наличие подозрительных бинарей во временных каталогах, задач планировщика, сервисов

• Минимизировать права локальных УЗ разработчиков, а именно использовать отдельные учётки/ токены для особо привилегированных операций (Segregation-of-Duties)

Сноска

8081 - альтернативный HTTP для веб‑сервисов, dev‑серверов и панелей администрирования. Работает поверх TCP и обычно обслуживает HTTP‑трафик, как и порт 80. Также используется как порт для внутренних веб‑консолей и систем управления (CI/CD, security‑консоли, админки приложений, dev/test‑серверы).

#reserch #riskanalysis #appsec #specialty #pmcases #term

#reserch#riskanalysis#appsec#specialty#pmcases#term
Открыть в Telegram