CVE-2025-55182 (React2Shell / React4Shell) — это реальная и критическая уязвимость

CVE-2025-55182 (React2Shell / React4Shell) — это реальная и критическая уязвимость, обнаруженная в декабре 2025 года в механизме React Server Components (RSC).

  • CVSS-оценка: 10.0 (максимальный уровень опасности).
  • Тип уязвимости: Удалённое выполнение кода (RCE) без аутентификации.
  • Причина: небезопасная десериализация RSC-пейлоадов в пакетах react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack.
  • Уязвимые версии React:
    19.0.0, 19.1.0, 19.1.1, 19.2.0
    Исправлено в: 19.0.1, 19.1.2, 19.2.1
  • Уязвимые версии Next.js (ветки 15.x и 16.x, а также canary-релизы с 14.3.0-canary.77):
    Например: 15.0.4, 15.1.8, ..., 16.0.6
    Исправлено в: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
  • Альтернативный CVE CVE-2025-66478 (для Next.js) был отклонён NIST как дубликат.

Условия эксплуатации:

  • RSC (React Server Components) должен быть включён — это стандарт в Next.js App Router.
  • Даже если вы не пишете Server Actions вручную, фреймворк может автоматически создавать уязвимые эндпоинты.
  • Атака возможна только при наличии сетевого доступа к серверу — без логина, без токена, без прав.

Масштаб угрозы:

  • По данным Wiz: ~39% облачных сред содержат уязвимые инстансы.
  • BI.ZONE: от 10 000 до 25 000 российских сайтов могут быть под угрозой.
  • Palo Alto Unit 42: более 968 000 серверов в мире используют уязвимые версии.
  • Уже зафиксированы активные сканирующие атаки (в т.ч. из Китая), PoC-эксплоиты и их фейковые версии.

Рекомендуемые меры защиты:

  1. Немедленно обновите зависимости
    # Для React
    npm install react@19.0.1 react-dom@19.0.1 react-server-dom-webpack@19.0.1
    
    # Для Next.js (выберите актуальную версию)
    npm install next@16.0.7
    # или
    npm install next@15.5.7
    
    
  2. Проверьте package-lock.json / yarn.lock, чтобы убедиться, что старые версии не остались в зависимостях.
  1. Включите WAF-правила:
    • Cloudflare, AWS, Akamai, Google Cloud и Fastly уже развернули защиту.
  2. Временно ограничьте доступ к /api/ или RSC-эндпоинтам, если обновление невозможно сразу.
  3. Не используйте фейковые PoC из интернета — многие из них содержат child_process.exec или fs.writeFile, которые не работают в Next.js, и могут ввести в заблуждение.

 

Дополнительно:

  • Уязвимость также затрагивает другие RSC-реализации:
    Vite RSC, Parcel RSC, React Router (preview), RedwoodJS, Waku.
  • Кевин Бомонт (Kevin Beaumont) напоминает: уязвимость не затрагивает классический клиентский React без RSC.

Что делать прямо сейчас?

Проверьте версии в package.json
Обновите до патченных версий
Пересоберите и задеплойте приложение
Убедитесь, что в production нет уязвимых версий

guest
Закрыть меню