React2Shell — это «момент Log4j» для фронтенд‑разработки

react2shell,cve-2025-55182,кибербезопасность,next.js,уязвимость,фронтенд

Злоумышленники активно используют критическую уязвимость React2Shell (CVE-2025-55182) в React, Next.js, позволяющую выполнять произвольный код на серверах через один HTTP-запрос. Эксперты предупреждают о фундаментальном пробеле в безопасности фронтенда, сравнивая ситуацию с Log4j. Уязвимость используется для развертывания программ-вымогателей.

Злоумышленники активизировали свои атаки, используя недавно обнаруженную уязвимость максимальной степени критичности в React Server Components (RSC), Next.js и связанных фреймворках.

Атаки, мотивированные финансовой выгодой, нашли способ использовать уязвимость, получившую название React2Shell (CVE-2025-55182), для выполнения произвольного кода на уязвимых серверах посредством одного вредоносного HTTP-запроса. Это позволяет им быстро и легко получить доступ к корпоративной сети и развернуть программы-вымогатели, сообщают исследователи из компании S-RM, специализирующейся на кибербезопасности, и команды Microsoft Defender Security Research Team.

Изначально злоумышленники использовали уязвимость для внедрения бэкдоров и майнеров криптовалют; этот новый метод представляет собой эскалацию, и, по мнению экспертов, он выявляет фундаментальный недостаток безопасности в разработке фронтенда.

«Слишком долго мы относились к фронтенд-разработке как к низкоуровневой, низкорисковой работе», — заявил Дэвид Шипли из Beauceron Security. «Для фронтенда приложений это то же самое, что Log4j для бэкенда — огромная возможность для злоумышленников».

Как злоумышленники легко получают «высокопривилегированный» доступ

React широко используется в корпоративной среде: исследователи Microsoft идентифицировали «десятки тысяч уникальных устройств в нескольких тысячах организаций», использующих React или приложения на его основе.

React2Shell — это уязвимость удаленного выполнения кода (RCE) до аутентификации, затрагивающая React Server Components (RSC), фреймворк с открытым исходным кодом Next.js и другие связанные фреймворки. Она получила оценку 10 по шкале Common Vulnerability Scoring System (CVSS), поскольку ее легко эксплуатировать, она подвергает риску множество открытых систем и очень восприимчива к автоматизированным атакам, так как для ее выполнения не требуется аутентификация.

Уязвимость конкретно затрагивает протокол Flight — ключевую функцию библиотеки разработки React и Next.js. RSC содержит пакеты, фреймворки и сборщики, которые позволяют приложениям React выполнять часть своей логики на сервере, а не в браузере.

Flight обеспечивает связь между сервером и клиентом; когда клиент запрашивает данные, сервер получает и анализирует полезную нагрузку, выполняет серверную логику и возвращает удобочитаемый пакет программного обеспечения.

Из-за уязвимости React2Shell затронутые RSC не проверяют входящие полезные нагрузки, что позволяет злоумышленникам внедрять вредоносные компоненты, которые React распознает как легитимные. Злоумышленники могут отправлять HTTP-запросы, чтобы обманом заставить сервер выполнить скомпрометированный код, потенциально предоставляя им «высокопривилегированный» доступ к необновленным системам, согласно исследователям S-RM.

Согласно первоначальным сообщениям о React2Shell, государственные акторы начали эксплуатировать уязвимость в течение нескольких часов после публичного раскрытия. Хотя первоначальное воздействие ограничивалось установкой постоянных бэкдоров в сети и майнингом криптовалют, React2Shell теперь используется в качестве вектора первоначального доступа при атаках с использованием программ-вымогателей.

S-RM отмечает, что, вероятно, она используется «менее искушенными злоумышленниками», нацеленными на общедоступные веб-серверы.

Исследователи Microsoft предупреждают об опасностях этой уязвимости: она может быть использована всего одним HTTP-запросом; конфигурации по умолчанию уязвимы, что означает отсутствие специальной настройки, и злоумышленникам не нужно ждать ошибок пользователя; эксплуатация не требует аутентификации, поскольку происходит до нее; а эксплойты, демонстрирующие концепцию, показывают практически 100% надежность.

«При всем излишнем разговоре о нулевом доверии, вот отличный пример того, где это было бы полезно», — сказал Шипли из Beauceron. «В модель React было заложено слишком много доверия и доступа. И злоумышленники нашли способ это использовать».

На что обратить внимание

В ходе атаки, отслеженной S-RM, сразу после получения доступа к сети целевой компании злоумышленник выполнил скрытую команду PowerShell, установив канал управления (C2) путем загрузки PowerShell-стилера Cobalt Strike, тактики, регулярно используемой командами красных тестировщиков, и установив маяк для связи с внешними серверами. Затем они отключили защиту в реальном времени в антивирусе Windows Defender.

Бинарный файл программы-вымогателя был развернут и выполнен «менее чем за одну минуту после первоначального доступа», сообщают исследователи S-RM. Злоумышленники модифицировали зашифрованные файлы, оставили записки с требованиями, создали текстовые файлы, содержащие публичный IP-адрес цели, и очистили журналы событий и снимки резервных копий.

Исследователи отметили, что не наблюдали бокового перемещения на другие системы или попыток кражи данных. Скомпрометированный сервер был отключен на следующий день после его обнаружения.

S-RM советует предприятиям, использующим RSC, убедиться, что у них установлена полностью обновленная версия; однако React предупредил, что даже первоначально выпущенные патчи (версии 19.0.2, 19.1.3 и 19.2.2) уязвимы.

Помимо установки исправлений, организациям следует проводить криминалистические проверки для выявления:

  • Необычных исходящих соединений, которые могут указывать на выполнение C2;
  • Отключения антивируса и защиты конечных точек, или очистки/подделки журналов;
  • Необычных всплесков использования ресурсов, которые могут указывать на майнеры криптовалют;
  • Журналов событий Windows или телеметрии обнаружения и реагирования на конечных точках (EDR), указывающих на то, что злоумышленники выполняли файлы в памяти из бинарных файлов, связанных с Node или React.
  • Индикаторов компрометации (IOC), подробно описанных в консультативном заключении, как на уровне хоста, так и на сетевом уровне.

Фронтенд больше не низкорисковый

Эта уязвимость выявляет фундаментальный пробел в среде разработки, который в значительной степени игнорировался, говорят эксперты.

«Существует опасная утешительная ложь, которую мы рассказываем себе в веб-разработке: «Фронтенд в безопасности». Это не так», — отмечает веб-инженер Луи Фанг. Он назвал это «логической ошибкой в том, как современные серверы общаются с клиентами», которая превращает стандартный веб-запрос в оружие. Это результат того, что разработчики сосредоточились на надежности, масштабируемости и поддерживаемости, а не на безопасности.

Годами все, что происходило при ошибке фронтенд-разработчика, — это неправильно выглядевшая кнопка, сломанный макет или, в худшем случае, возможность межсайтового скриптинга (XSS), который позволяет злоумышленникам внедрять вредоносные скрипты на веб-страницы, сказал Фанг. С рендерингом React на сервере код фронтенда получает привилегированный доступ, а уязвимости служат бэкдором в базы данных, ключи и данные.

«React2Shell знаменует собой конец роли фронтенд-разработчика как низкорисковой», — утверждает Фанг.

Шипли из Beauceron согласился, отметив, что необходимость в интенсивной серверной обработке изменила риск, но технологический стек не отреагировал соответствующим образом.

«Сначала было замешательство относительно того, насколько она серьезна, затем некоторые преуменьшали масштабы эксплуатации, а теперь мы наблюдаем настоящую охоту», — сказал он.

Вызывает беспокойство то, как долго технологическая среда реагирует на эту угрозу; это может быть косвенным следствием сокращения бюджетов и команд безопасности, а также выгорания разработчиков, отметил он.

«Это тревожная тенденция, ведущая в 2026 год, который будет еще более напряженным из-за нулевых дней, вызванных ИИ», — предсказал Шипли.

Эта статья изначально была опубликована на InfoWorld.