Я знаю, что большинство моих читателей – .NET-инженеры, но, возможно, среди вас есть, как и я, фуллстеки, а может и фронтенд-инженеры. У меня есть небольшой pet-проект на Next.js, и для меня эта история очень актуальна, хоть и обошла стороной. Но хочу предупредить остальных и коротко рассказать про то, что сейчас обсуждают в мире React.
Что случилось
3 декабря в React, а точнее в React Server Components (RSC), обнаружили критическую уязвимость, получившую название React2Shell. Она позволяет удалённо выполнять произвольный код на сервере.
Wiz пишет, что под угрозой 39% облачных сред:
Wiz data indicates that 39% of cloud environments contain instances of Next.js or React in versions vulnerable to CVE-2025-55182 and/or CVE-2025-66478.
Уязвимости присвоили рейтинг 10.0 (наивысший) по шкале CVSS:
1. Для взлома не требуется авторизация и подготовительные шаги.
2. Уязвимы Next.js приложения на React 19 с App Router.
3. Для выполнения вредоносного кода достаточно одного HTTP-запроса.
Более подробный технический разбор уязвимости можно почитать в статье Datadog.
Страшилки
На Reddit множество историй от людей, чьи сервера пытались взломать или уже взломали:
1. The vulnerability is not a joke, you should upgrade asap.
У автора есть несколько Next.js приложений. Он обновил их до патченной версии, но через несколько часов увидел в логах реальные попытки эксплуатации уязвимости.
2. I Got Hacked - And Traced How Much Money Hacker Made.
У этого разработчика на Hetzner крутилось Next.js приложение в Docker. Из-за уязвимости контейнер превратили в криптомайнер. Он потом разобрал скрипты, нашёл крипто-кошелёк злоумышленников и выяснил, что они зарабатывают всего несколько долларов в день.
3. I got hacked - 10+ apps/projects and 3 servers were affected.
У этого автора положили больше десяти приложений и три сервера. Хакеры установили майнеры, зашифровали файлы и оставили записку с выкупом.
4. My NextJS server was compromised by React CVE-2025-55182 exploitation & multi-stage "Meshagent" malware.
У другого разработчика взломали сервер на DigitalOcean. Он получил уведомление о DDoS, а при расследовании нашёл сразу несколько вирусов: RAT, сборщик ключей, DDoS-ботнет и недозапустившийся майнер. Атака произошла буквально в течение суток после публикации информации об уязвимости.
5. Have I been hacked?
Здесь разработчик просто хотел обновить Next.js и внезапно обнаружил у себя в проекте файлы xmrig-6.24.0 и скрипт sex. sh на Hetzner. Комьюнити объяснило, что это следы того же эксплойта.
Как пропатчить
Vercel выпустил утилиту, которая находит уязвимые версии пакетов и обновляет их до безопасных:
npx fix-react2shell-next
Она проверит package.json и предложит обновить next и связанные RSC-пакеты до рекомендованных версий.
Заключение
Мой pet-проект на Next.js пока никто не ломал. Он, к счастью, даже ещё не задеплоен и уже пропатчен. Но эта ситуация – очередное напоминание, что мерами безопасности лучше не пренебрегать.