CVE-2025-55182

Meta React Server Components

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2025-12-05

Официальное описание

Meta React Server Components contains a remote code execution vulnerability that could allow unauthenticated remote code execution by exploiting a flaw in how React decodes payloads sent to React Server Function endpoints. Please note CVE-2025-66478 has been rejected, but it is associated with CVE-2025- 55182.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость CVE-2025-55182 (которая также связана с отклоненным идентификатором CVE-2025-66478) представляет собой критическую ошибку удаленного выполнения кода (RCE) в архитектуре Meta React Server Components. Проблема заключается в небезопасном механизме десериализации и декодирования полезной нагрузки (payloads), отправляемой на эндпоинты React Server Function (например, при вызове Server Actions). Из-за отсутствия строгой валидации и санитизации входящих данных, неаутентифицированный удаленный злоумышленник может сформировать специфический вредоносный запрос. При обработке этого запроса сервером происходит выполнение произвольного кода в контексте серверного процесса (как правило, Node.js), что может привести к полной компрометации сервера.

Как исправить

Единственным гарантированным способом устранения уязвимости является обновление пакетов react, react-dom и серверных фреймворков (например, Next.js или Remix), реализующих спецификацию React Server Components, до актуальных версий, содержащих патч безопасности.

Для обновления пакетов через npm выполните:

npm install react@latest react-dom@latest

Для обновления через yarn:

yarn add react@latest react-dom@latest

Для обновления через pnpm:

pnpm add react@latest react-dom@latest

Если вы используете фреймворк (например, Next.js), обязательно обновите и его:

npm install next@latest

После обновления зависимостей необходимо очистить кэш, пересобрать проект и перезапустить серверное приложение:

npm run build

npm run start

Временные меры

Если немедленное обновление кодовой базы и зависимостей невозможно, необходимо внедрить следующие компенсирующие контроли:

  • Настройте правила Web Application Firewall (WAF) для глубокой инспекции пакетов (DPI), направленных к эндпоинтам Server Functions. Ищите и блокируйте запросы, содержащие аномальные паттерны сериализации React или сигнатуры вызова системных модулей Node.js (например, child_process, fs, eval).
  • Внедрите строгий мониторинг поведения процессов (EDR/XDR) на серверах приложений. Настройте критические алерты на любые попытки запуска подозрительных дочерних процессов (например, /bin/sh, cmd.exe, powershell.exe) от имени процесса Node.js.
  • Запускайте серверное приложение в максимально изолированной среде (контейнеры Docker с read-only файловой системой, AppArmor/SELinux профили) и с правами непривилегированного пользователя, чтобы минимизировать радиус поражения (blast radius) в случае успешной эксплуатации RCE.
  • Если функционал Server Actions не является критически важным для бизнес-логики приложения, временно отключите его на уровне конфигурации фреймворка до момента установки патча.