Злоумышленники активизировали свои атаки, используя недавно обнаруженную уязвимость максимальной степени критичности в 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.
Автор – Taryn Plumb




