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 не является критически важным для бизнес-логики приложения, временно отключите его на уровне конфигурации фреймворка до момента установки патча.