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

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

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

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

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

Категории

Все категории
Loading categories
react2shell-scanner-rce-react-next-CVE-2025-55182-CVE-2025-66478 — Сканер для CVE-2025-55182 (React) и CVE-2025-66478 (Next.js) - Отслеживайте и устраняйте критическую кампанию по уязвимостям React Server Components (RSC) / Flight protocol, затрагивающую react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack и фреймворки с поддержкой RSC, такие как Next.js. | Kitploit
Инструменты/GitHubGitHub/security-phoenix-demo/react2shell-scanner-rce-react-next-cve-2025-55182-cve-2025-66478
Сканеры уязвимостейСканеры веб-уязвимостейАнализ КодаЭксплуатацияВеб-безопасностьТестирование на ПроникновениеБезопасность Цепочки ПоставокОбучение и ОбразованиеЛаборатории и Практика
GitHubsecurity-phoenix-demo/react2shell-scanner-rce-react-next-cve-2025-55182-cve-2025-66478

react2shell-scanner-rce-react-next-CVE-2025-55182-CVE-2025-66478

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

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

Сканер для CVE-2025-55182 (React) и CVE-2025-66478 (Next.js) - Отслеживайте и устраняйте критическую кампанию по уязвимостям React Server Components (RSC) / Flight protocol, затрагивающую react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack и фреймворки с поддержкой RSC, такие как Next.js.

Поделиться

🔍 Phoenix SCA Scanner - Универсальный - Версия для уязвимостей CVE-2025-55182-CVE-2025-66478 React и Nexus

Внешняя уязвимость для класса ошибок React2Shell: две недавно раскрытые, неаутентифицированные уязвимости удаленного выполнения кода в протоколе Flight React Server Components (RSC) — CVE-2025-55182 (React) и CVE-2025-66478 (Next.js), обе оценены как CVSS 10.0. Эти проблемы связаны с тем, как конечные точки RSC/Server Function декодируют подконтрольные атакующему полезные нагрузки Flight, превращая один специально созданный HTTP-запрос в потенциальное выполнение кода на стороне сервера — даже в «стандартных» современных стеках React/Next.js, использующих App Router и production-сборки. Для многих команд это момент «срочно установите патч, проверьте уязвимость, затем проведите аудит», а не что-то, что можно отложить до следующего спринта по гигиене зависимостей. Папка LAB содержит эксплойты и лабораторные уязвимости для React2Shell

Этот проект предоставляет двунаправленный подход: (1) сканирование состава программного обеспечения / рисков зависимостей (этот инструмент) для быстрого поиска уязвимых библиотек и версий, и (2) веб-сканер DAST (React2Shell Web Scanner), который активно зондирует конечные точки RSC/Flight извне, проверяя, доступны ли эксплуатируемые пути в работающих средах. Вместе они помогают ответить как на вопрос «где находятся уязвимые компоненты?», так и на «где их можно реально эксплуатировать в производстве?», чтобы вы могли уверенно расставлять приоритеты по установке патчей, усилению защиты и реагированию на инциденты.


🌐 Веб-сканер - Обнаружение RCE React2Shell

Для тестирования конечных точек в реальном времени и проверки RCE см. специализированный веб-сканер:

📁 web-scan_CVE-2025-66478/ - Полная документация и руководство

Быстрый старт - Веб-сканер

root@kitploit:~
cd web-scan_CVE-2025-66478

# Install dependencies
pip install -r requirements.txt

# Scan a single target
python3 react2shell-scanner -u https://target.com -v

# Scan with evidence display
python3 react2shell-scanner -u https://target.com --show-evidence

# Batch scan with all export formats
python3 react2shell-scanner -l targets.txt -o results.json --csv results.csv --html report.html

# Test the exploit on vulnerable target (requires Python 3.11+)
python3.11 test-lab/exploit.py -u http://vulnerable-host:3000 -c "hostname"

Возможности веб-сканера

FeatureОписание
🔍 RCE DetectionАрифметическое безопасное обнаружение (без побочных эффектов)
🎯 Technology FingerprintingАвтоматическое определение приложений Next.js/React
📊 Multi-Format ExportОтчеты в форматах JSON, CSV, HTML
🔗 IOC CorrelationСопоставление с 31+ известными вредоносными IP
🌐 Scale ScanningДиапазоны CIDR, перечисление поддоменов
☁️ Phoenix IntegrationЗагрузка результатов в Phoenix Security
💻 Exploit ToolВыполнение команд на уязвимых целях

Настройка тестовой лаборатории

root@kitploit:~
cd web-scan_CVE-2025-66478/test-lab/lab

# Start vulnerable (3011) and patched (3012) instances
docker-compose up -d

# Test vulnerable instance
python3 react2shell-scanner -u http://localhost:3011 --show-evidence

Примеры эксплуатации (требуется Python 3.11+)

root@kitploit:~
cd web-scan_CVE-2025-66478/test-lab

# Install exploit dependencies
pip3.11 install -r requirements.txt

# Basic command execution
python3.11 exploit.py -u http://localhost:3011 -c "whoami"
# Output: nextjs

python3.11 exploit.py -u http://localhost:3011 -c "id"
# Output: uid=1001(nextjs) gid=65533(nogroup)

python3.11 exploit.py -u http://localhost:3011 -c "hostname"  
# Output: 99e28775bf80 (container ID)

# System enumeration
python3.11 exploit.py -u http://localhost:3011 -c "uname -a"
python3.11 exploit.py -u http://localhost:3011 -c "cat /etc/passwd"
python3.11 exploit.py -u http://localhost:3011 -c "env"

# Application recon
python3.11 exploit.py -u http://localhost:3011 -c "pwd"           # /app
python3.11 exploit.py -u http://localhost:3011 -c "ls -la"
python3.11 exploit.py -u http://localhost:3011 -c "cat package.json"
python3.11 exploit.py -u http://localhost:3011 -c "node --version"

🛡 React2Shell / RCE протокола Flight – Обзор уязвимости

React2Shell — это неаутентифицированный примитив удаленного выполнения кода против обработки полезных нагрузок React Server Components (RSC) в протоколе Flight. На практике это означает, что злоумышленник может отправить один специально сформированный HTTP-запрос к конечной точке RSC/Server Function и, если используется уязвимая версия, потенциально превратить «веб-приложение» в «серверную оболочку».

На высоком уровне:

  • Подконтрольные атакующему полезные нагрузки Flight отправляются на конечные точки, участвующие в обработке RSC / Server Function (например, в развертываниях Next.js App Router).
  • Сервер использует логику декодирования и десериализации Flight от React, чтобы преобразовать эту полезную нагрузку обратно в серверные данные и инструкции.
  • Небезопасная десериализация на этом уровне позволяет атакующему влиять на серверное выполнение, что приводит к полному удаленному выполнению кода (RCE).

Поскольку это неаутентифицированный RCE, стандартные производственные конфигурации находятся в зоне риска — даже если вы никогда явно не писали «серверную функцию», а просто использовали современные шаблоны React/Next.js. Средства защиты на уровне хостинга и обычные WAF не следует рассматривать как основную сеть безопасности: они могут снизить подверженность риску, но не смогут надежно компенсировать уязвимые библиотеки. Относитесь к этому как к инциденту:

  • Установите патчи для пакетов React RSC server DOM и Next.js до исправленных версий.
  • Проверьте подверженность, сканируя кодовые базы и SBOM на наличие уязвимых версий.
  • Аудитируйте журналы на предмет подозрительных запросов к конечным точкам RSC/Flight и смените секреты, если подозреваете компрометацию.

После того как атакующий получает RCE через React2Shell, защитникам следует предполагать знакомую цепочку поражения:

  • Обнаружение окружения – перечисление среды выполнения, структуры файловой системы, переменных окружения и конечных точек метаданных облака.
  • Охота за секретами – сбор файлов .env, секретов развертывания, токенов CI, учетных данных служб и ключей подписи.
  • Постоянство – внедрение артефактов, похожих на веб-шеллы, изменение серверного кода или установка запланированных задач, где это возможно.
  • Боковое перемещение – переход к внутренним службам, базам данных, очередям и API управления облаком.
  • Последующее воздействие на цепочку поставок – если присутствуют учетные данные для сборки или развертывания, переместиться «вверх по течению» в CI/CD и реестры артефактов.

Если ваш конвейер DevSecOps исторически рассматривал веб-уровень как «просто фронтенд», эта уязвимость является конкретной демонстрацией того, что фреймворки фронтенда могут нести глубокий радиус поражения на стороне сервера, когда задействованы семантика RSC и стриминг. Universal Vulnerability Scanner существует, чтобы помочь вам быстро ответить на вопрос «используем ли мы где-либо уязвимые пакеты?» и передать этот ответ в кампании, управляемые Phoenix, а вскоре и в дополняющую веб-проверку DAST живых конечных точек RSC.

🎯 Возможности

SCA Scanner (Этот инструмент)

  • ✅ Поддержка нескольких экосистем - NPM (с возможностью расширения для PyPI, Ruby Gems и т.д.)
  • ✅ Интеллектуальное сопоставление версий - Разбор Semver с обнаружением на основе диапазонов
  • ✅ Обнаружение React Server Components (RSC) - Специализированное обнаружение уязвимостей RSC
  • ✅ Поддержка файлов блокировки - Разбор package-lock.json, yarn.lock, pnpm-lock.yaml
  • ✅ Интеграция с Phoenix - Загрузка результатов в платформу Phoenix Security
  • ✅ Комплексное тестирование - Примеры уязвимых пакетов для проверки
  • ✅ Отчеты в форматах JSON/Text - Гибкие форматы вывода
  • ✅ Интерфейс CLI - Простой в использовании инструмент командной строки

Веб-сканер (web-scan_CVE-2025-66478/)

  • ✅ Обнаружение RCE в реальном времени - Безопасное подтверждение уязвимости на основе арифметики
  • ✅ Инструмент эксплуатации - Выполнение команд на уязвимых целях
  • ✅ База данных IОС - 31+ вредоносный IP, 16+ шаблонов атак
  • ✅ Масштабное сканирование - Диапазоны CIDR, перечисление поддоменов, пакетное сканирование
  • ✅ Сбор доказательств - Полный захват запросов/ответов, HTML-отчеты
  • ✅ Тестовая лаборатория - Уязвимая/исправленная среда на основе Docker

📦 Установка

root@kitploit:~
# Install dependencies
pip install -r requirements.txt

# Run from project root
python -m universal_vulnerability_scanner.main --help

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

1. Сканирование проекта

root@kitploit:~
# Basic scan
python -m universal_vulnerability_scanner.main scan /path/to/project

# With JSON output
python -m universal_vulnerability_scanner.main scan /path/to/project --json --output results.json

# Quiet mode (only show summary)
python -m universal_vulnerability_scanner.main scan /path/to/project --quiet

2. Загрузка в Phoenix Security

root@kitploit:~
# Create Phoenix configuration template
python -m universal_vulnerability_scanner.main create-config

# Edit .phoenix.config with your credentials
# Then scan and upload
python -m universal_vulnerability_scanner.main scan /path/to/project --upload-phoenix

3. Запуск тестов

root@kitploit:~
# Test with included vulnerable samples
python -m universal_vulnerability_scanner.main test

📋 База данных уязвимостей

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

root@kitploit:~
universal_vulnerability_scanner/data/vulnerability_database.json

Поддерживаемые уязвимости

React Server Components (RSC)

  • react-server-dom-webpack - Версии: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel - Версии: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack - Версии: 19.0.0, 19.1.0, 19.1.1, 19.2.0

React Core

  • react - Уязвимые диапазоны: [19.0.0, 19.0.1), [19.1.0, 19.1.2), [19.2.0, 19.2.1)
  • react-dom - Те же уязвимые диапазоны, что и у react

Next.js

  • next - Уязвимые диапазоны: [15.0.0, 15.0.5), [16.0.0, 16.0.7)

Формат базы данных

root@kitploit:~
{
  "metadata": {
    "version": "1.0.0",
    "last_update": "2025-12-04",
    "ecosystems": ["npm"]
  },
  "vulnerabilities": {
    "npm": {
      "package-name": {
        "exact_versions": ["1.0.0", "1.0.1"],
        "vulnerable_ranges": [
          {"min": "1.0.0", "max": "1.0.2", "severity": "CRITICAL"}
        ],
        "safe_versions": ["1.0.2+"],
        "cve_ids": ["CVE-2025-XXXX"],
        "description": "Описание уязвимости",
        "references": ["https://..."]
      }
    }
  }
}

🔧 Конфигурация

Интеграция с Phoenix Security

Создайте .phoenix.config:

root@kitploit:~
[phoenix]
client_id = your_client_id_here
client_secret = your_client_secret_here
api_base_url = https://api.securityphoenix.cloud
assessment_name = Universal Vulnerability Scanner - RSC Detection
import_type = new

Или используйте переменные окружения:

root@kitploit:~
export PHOENIX_CLIENT_ID="your_client_id"
export PHOENIX_CLIENT_SECRET="your_client_secret"
export PHOENIX_API_URL="https://api.securityphoenix.cloud"

📊 Форматы вывода

Текстовый отчет

root@kitploit:~
================================================================================
UNIVERSAL VULNERABILITY SCANNER REPORT
================================================================================
Scan completed: 2025-12-04 10:30:00

SUMMARY:
----------------------------------------
Total findings: 12
  VULNERABLE:  3
  SAFE:        2
  CLEAN:       5
  REVIEW:      2

🚨 VULNERABLE PACKAGES DETECTED
================================================================================

1. [email protected]
   File: /path/to/project/package.json
   Reason: Exact match with known vulnerable version 19.0.0
   ✅ Safe version: 18.99.99
   CVE: CVE-2025-RSC-001

Отчет в JSON

root@kitploit:~
[
  {
    "path": "/path/to/project/package.json",
    "kind": "package.json",
    "package": "react-server-dom-webpack",
    "version": "19.0.0",
    "verdict": "VULNERABLE",
    "reason": "Exact match with known vulnerable version 19.0.0",
    "severity": "CRITICAL",
    "vulnerable_versions": ["19.0.0", "19.1.0", "19.1.1", "19.2.0"],
    "safe_version": "18.99.99",
    "cve_ids": ["CVE-2025-RSC-001"],
    "timestamp": "2025-12-04T10:30:00"
  }
]

🧪 Тестовые образцы

Сканер включает комплексные тестовые образцы в test_samples/:

Тестовый случайОписаниеОжидаемые результаты
rsc_vulnerable_exact/Точные уязвимые версии4 УЯЗВИМО
rsc_vulnerable_range/Диапазоны версий4 УЯЗВИМО
rsc_safe_versions/Исправленные безопасные версии6 БЕЗОПАСНО
rsc_mixed/Смесь уязвимых/безопасных/чистых2 УЯЗВИМО, 1 БЕЗОПАСНО, 4 ЧИСТО
rsc_with_lockfile/Разбор файла блокировки2 УЯЗВИМО, 1 ЧИСТО

Запуск тестов:

root@kitploit:~
python -m universal_vulnerability_scanner.main test

🏗️ Архитектура

root@kitploit:~
universal_vulnerability_scanner/
├── core/
│   └── version_parser.py       # Semver parsing & comparison
├── models/
│   ├── finding.py              # Finding data model
│   └── vulnerability.py        # Vulnerability database model
├── scanners/
│   ├── base_scanner.py         # Abstract scanner interface
│   └── npm_scanner.py          # NPM ecosystem scanner
├── integrations/
│   └── phoenix_uploader.py     # Phoenix API client
├── data/
│   └── vulnerability_database.json  # Vulnerability definitions
├── test_samples/               # Test cases
└── main.py                     # CLI entry point

🔐 Соображения безопасности

  1. Отсутствие ложноотрицательных результатов: Сканер ошибается в сторону осторожности
  2. Нормализация версий: Обрабатывает спецификаторы версий NPM (^, ~, =)
  3. Обнаружение диапазонов: Обнаруживает уязвимости в пределах диапазонов версий
  4. Приоритет файлов блокировки: Предпочитает разрешенные версии из файлов блокировки
  5. Рекомендации по безопасным версиям: Предлагает пути обновления

🚀 Расширение сканера

Добавление новых экосистем

  1. Создайте новый сканер в scanners/, наследующий от BaseScanner
  2. Реализуйте парсинг, специфичный для экосистемы
  3. Добавьте уязвимости в базу данных под новым ключом экосистемы

Пример:

root@kitploit:~
from .base_scanner import BaseScanner

class PyPIScanner(BaseScanner):
    def _get_ecosystem(self) -> str:
        return "pypi"
    
    def scan_path(self, root: Path) -> List[Finding]:
        # Implement PyPI scanning logic
        pass

Добавление новых уязвимостей

Отредактируйте data/vulnerability_database.json:

root@kitploit:~
{
  "npm": {
    "new-vulnerable-package": {
      "exact_versions": ["1.0.0"],
      "vulnerable_ranges": [{"min": "1.0.0", "max": "1.0.5", "severity": "HIGH"}],
      "safe_versions": ["1.0.5+"],
      "cve_ids": ["CVE-2025-XXXX"],
      "description": "Описание уязвимости"
    }
  }
}

📈 Коды выхода

  • 0 - Сканирование выполнено успешно, уязвимости не найдены
  • 1 - Сканирование выполнено успешно, найдены уязвимости
  • 2 - Сканирование не удалось (неверный ввод, ошибка базы данных и т.д.)

🤝 Интеграция с существующими системами

Платформа Phoenix Security

Автоматически загружает результаты в Phoenix с:

  • Создание актива для каждого отсканированного репозитория
  • Результаты уязвимостей с оценкой CVSS
  • Теги для категоризации
  • Ссылки на CVE

Конвейер CI/CD

root@kitploit:~
# Example GitHub Actions
- name: Vulnerability Scan
  run: |
    python -m universal_vulnerability_scanner.main scan . --json --output scan-results.json
    
- name: Upload to Phoenix
  if: always()
  run: |
    python -m universal_vulnerability_scanner.main scan . --upload-phoenix

📝 Журнал изменений

v1.0.0 (2025-12-04)

  • Первоначальный выпуск
  • Сканер NPM с поддержкой файлов блокировки
  • Обнаружение уязвимостей React Server Components
  • Интеграция с Phoenix Security
  • Комплексный набор тестов

🙏 Благодарности

  • Разбор Semver адаптирован из react/rsc_exposure_scanner.py
  • Интеграция с Phoenix адаптирована из enhanced_npm_compromise_detector_phoenix.py
  • Создано для комплексной безопасности цепочки поставок

📄 Лицензия

Часть набора инструментов безопасности Shai Halud.


🔍 Оставайтесь в безопасности! Сообщайте об уязвимостях ответственно.

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