Эксплуатация уязвимости React2Shell в Next.js привела к сотням тысяч атак на серверы по всему миру

information security

Аналитики компании "Chuangyu Security" (Knownsec) опубликовали детальный отчёт о массовой эксплуатации критической уязвимости, получившей название React2Shell. Уязвимость затрагивает популярный фреймворк Next.js и позволяет злоумышленникам выполнять произвольный код на сервере без аутентификации. За две недели после публикации технических деталей было зафиксировано более 760 тысяч попыток атак.

Описание

Проблема, получившая идентификатор CVE-2025-55182, кроется в компонентах React Server Components (RSC). Конкретно, пакеты, связанные с "react-server", такие как "react-server-dom-webpack", содержат небезопасную десериализацию при обработке данных по протоколу Flight. Это позволяет атакующему через специально сформированный запрос вызвать удалённое выполнение кода (RCE). Поскольку Next.js по умолчанию зависит от этого компонента, многие серверы оказались уязвимыми.

Лаборатория активной обороны Knownsec зафиксировала стремительную реакцию хакеров на публикацию информации. Эксплойт (PoC) появился 4 декабря 2025 года, а уже через час их система защиты "Chuangyu Security"обнаружила первую активную попытку эксплуатации. Пик атак пришёлся на 12 декабря, что демонстрирует высокую скорость оружейного превращения уязвимости в реальную угрозу.

География атак оказалась неоднородной. Согласно данным отчёта, на Германию пришлось подавляющее большинство инцидентов - 86,5%. За ней следуют Китай и США. При этом анализ десяти наиболее активных IP-адресов показал, что все они расположены в Германии, в районе Франкфурта-на-Майне, и принадлежат к двум узким подсетям. Такая концентрация трафика указывает на скоординированные автоматизированные действия, характерные для сканирования и массовых атак.

Интересно, что исследователи обнаружили следы специализированного сканера, созданного для проверки на наличие этой уязвимости. Уже 4 декабря фиксировались запросы с характерным User-Agent: "Mozilla/5.0 (Security-Audit; CVE-2025-55182-Scanner)". Первоначально сканер отправлял пустые запросы, а после публикации PoC начал использовать полноценные вредоносные пейлоады (зловредные полезные данные). Этот инструмент был открыто размещён на GitHub.

Анализ захваченных пейлоадов показывает, что злоумышленники преследуют три основные цели. Во-первых, это проверка уязвимости с помощью простых команд вроде "whoami" или "uname". Во-вторых, сбор информации о системе и структуре каталогов для оценки ценности цели. В-третьих, и это наиболее распространённый сценарий, - загрузка и запуск майнеров - программ для скрытого использования вычислительных ресурсов сервера для добычи криптовалюты.

Типичный вредоносный код использует цепочку "загрязнение прототипа → RCE" для выполнения команд на сервере. В качестве примера в отчёте приведены несколько фрагментов, где атакующие с помощью "curl" или "wget" загружают исполняемые файлы с удалённых серверов, назначают им права на выполнение ("chmod +x") и запускают, часто в фоновом режиме через "nohup". Пейлоады адаптированы под разные архитектуры процессоров (x86, x64, ARM) и содержат логику для выбора доступного на системе инструмента загрузки.

Для защиты специалисты рекомендуют немедленно обновить Next.js до исправленных версий: для ветки 15.x это версии не ниже 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8 или 15.5.7, а для 16.x - не ниже 16.0.7. Также необходимо обновить React до патченной версии 19.x. В качестве временных мер можно использовать специализированные решения для защиты веб-приложений (WAF), такие как "Чуанъюй Дунь", или инструменты для сканирования уязвимостей. Данный инцидент в очередной раз подчёркивает критическую важность своевременного обновления зависимостей в экосистеме JavaScript и оперативного реагирования на публикации о новых уязвимостях.

Индикаторы компрометации

MD5

  • 1f0a1fb69d15421e3cb9b3d8d1ca6448
  • 83f9a3b82b523a6ac7ff563cda668784
  • a00b85bee1768f1da52c72c8c0246c84
  • a750df20793e0eb3f95ddaaa23690b9e
  • cd70aae059394a6990b81ec42a9d0079
Комментарии: 0