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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-15981 — SAML Single Sign On <= 5.4.4 - Неаутентифицированный обход аутентификации через параметр SAMLResponse | Kitploit
Инструменты/GitHubGitHub/nxploited/cve-2026-15981
Аутентификация и авторизацияГенерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияТестирование на Проникновение
GitHubnxploited/cve-2026-15981

CVE-2026-15981

SAML Single Sign On <= 5.4.4 - Неаутентифицированный обход аутентификации через параметр SAMLResponse

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

Популярное

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

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

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

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

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

CVE-2026-15981

SAML Single Sign On <= 5.4.4 — Неаутентифицированный обход аутентификации через параметр SAMLResponse

CVE CVSS CWE CWE Python

CVE-2026-15981

SAML Single Sign On ≤ 5.4.4 — Неаутентифицированный обход аутентификации

Эксплойт Proof-of-Concept
Некорректная подпись → openssl_verify() возвращает -1 → нестрогое приведение PHP к true → wp_set_auth_cookie() как администратор


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

ПолеЗначение
CVE IDCVE-2026-15981
Затронутый плагинminiOrange SAML 2.0 Single Sign On – SSO Login (WordPress)
Затронутые версииВсе версии до 5.4.4 включительно
ТипНеаутентифицированный обход аутентификации
CWECWE-287: Некорректная аутентификация / CWE-305: Обход аутентификации из-за первичной слабости
CVSS 3.19.8 CRITICAL — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
АутентификацияНе требуется

Описание

Плагин SAML Single Sign On – SSO Login для WordPress уязвим к обходу аутентификации во всех версиях до 5.4.4 включительно. Причина — функция mo_saml_validate_signature() выполняет нестрогую логическую проверку необработанного трёхзначного целого числа, возвращаемого PHP-функцией openssl_verify(), из-за чего ошибочное возвращаемое значение -1 оценивается как истинное и, следовательно, считается успешной проверкой подписи.

Это позволяет неаутентифицированным атакующим войти под учётной записью любого существующего пользователя WordPress, включая администраторов, путём отправки специально сформированного SAMLResponse, содержащего NameID под контролем атакующего и намеренно некорректное значение подписи, которое вызывает ошибку обработки OpenSSL, — полностью обходя проверку и приводя к вызову wp_set_auth_cookie() для целевой учётной записи.

Первопричина

Attacker sends crafted SAMLResponse
         │
         ▼
mo_saml_validate_signature()
         │
         ▼
openssl_verify($data, $malformed_sig, $key)
         │
         ├─ Returns  1  → valid signature      ✓
         ├─ Returns  0  → invalid signature     ✗
         └─ Returns -1  → OpenSSL internal error
                │
                ▼
     PHP loose comparison:  if ($result)
                │
                ├─ (int) 1   → true   ✓
                ├─ (int) 0   → false  ✓
                └─ (int) -1  → true   ← BUG: error treated as success
                       │
                       ▼
             wp_set_auth_cookie() called
                       │
                       ▼
             Attacker is now Administrator

Исправление тривиально — if ($result === 1) вместо if ($result), — но последствия уязвимости — полный обход аутентификации.


Возможности

  • Массовое сканирование множества целей — параллельная обработка списков целей
  • Полное определение WordPress — подтверждает WordPress перед продолжением
  • Обнаружение плагина и проверка версии — определяет miniOrange SAML SSO и проверяет версию ≤ 5.4.4
  • Обнаружение метаданных SP — извлекает Entity ID и ACS URL из ?option=mosaml_metadata
  • Комплексное перечисление пользователей:
    • WP REST API (/wp-json/wp/v2/users)
    • REST-запросы по ID (1–10)
    • Редиректы архива автора (/?author=N)
    • Сопоставление шаблонов в HTML-коде страниц
    • Запасной вариант на основе домена + типовые имена администраторов
  • Обнаружение издателя IdP — отслеживает редиректы ?option=saml_user_login и извлекает базовые URL IdP
  • Механизм подделки SAMLResponse:
    • Корректная канонизация Exclusive C14N с помощью lxml
    • Корректное вычисление Digest (SHA-1/SHA-256/SHA-384/SHA-512)
    • Внедрение элемента Signature после </Issuer> согласно спецификации SAML
    • 12+ некорректных вариантов подписи, разработанных для вызова openssl_verify() = -1
    • Перебирает пользователей × издателей × алгоритмы × подписи × флаги аудитории × SP Entity ID
  • Проверка сессии — проверяет cookie wordpress_logged_in_* после каждой попытки
  • Подтверждение роли администратора — проверяет доступ к /wp-admin/, /wp-admin/users.php, /wp-admin/plugins.php
  • Извлечение профиля — считывает имя пользователя и email со страницы /wp-admin/profile.php
  • 4 метода загрузки шелла при получении сессии администратора:
    • M1 — загрузка ZIP-архива плагина через plugin-install.php
    • M2 — загрузка плагина через REST API /wp-json/wp/v2/plugins
    • M3 — запись файла через редактор тем/плагинов
    • M4 — асинхронная загрузка медиафайлов
  • Проверка выполнения шелла — подтверждает сигнатуру Nx-zD в теле ответа
  • Диагностический механизм — классифицирует причины сбоев (DIGEST_FAIL, ISSUER, AUDIENCE, TIME и т. д.)
  • Отладочный JSON-вывод — полный диагностический журнал по каждой цели для анализа

Требования

Python >= 3.8
pip install requests lxml

lxml обязателен для корректной канонизации Exclusive C14N утверждения SAML.


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

python CVE-2026-15981.py

Программа запросит следующие данные:

ЗапросОписаниеПо умолчанию
Файл с целямиПуть к текстовому файлу с одной целью в строкеlist.txt
ПотокиКоличество параллельных потоков (1–100)5

Формат файла с целями

https://example.com
http://target.org
subdomain.example.net
192.168.1.100
https://example.com/wordpress

Один URL в строке. Если схема не указана, по умолчанию используется HTTP.


Вывод

Терминал

  ███████╗███╗   ███╗███████╗
  ██╔════╝████╗ ████║██╔════╝
  ███████╗██╔████╔██║███████╗
  ╚════██║██║╚██╔╝██║╚════██║
  ███████║██║ ╚═╝ ██║███████║
  ╚══════╝╚═╝     ╚═╝╚══════╝
   ╔══════════════════════════════════════════════════════════╗
   ║  miniOrange SAML SSO <= 5.4.4                           ║
   ║  openssl_verify() -1 Bypass -> Admin Session            ║
   ╚══════════════════════════════════════════════════════════╝
  By: Nxploited ( Khaled Alenazi ) - Nxploited ZeroDay Hub
  T.m @Kxploit

Каждая цель проходит 7 помеченных этапов:

  ============================================================
    target.com
  ============================================================
  [1] WordPress
      confirmed
  [2] SAML plugin
      version: 5.4.4
      miniOrange SAML detected
  [3] SP metadata
      metadata entityID: https://target.com/...
      metadata ACS: https://target.com/
  [4] Users
      REST: admin (id=1)
      REST: editor (id=2)
      author/3: johndoe
      4 found: ['admin', 'editor', 'johndoe', 'target']
  [5] Issuers
      SSO redirect found
      3 candidates
  [6] Exploit
      COOKIE! #14 user=admin 0xFF*256/rsa-sha256
        wordpress_logged_in_abc123=admin%7C1753...
        wp-admin accessible
          user=admin  [email protected]
          users.php -> Admin
  [7] Shell upload
      M1: plugin uploaded
      SHELL (M1-plugin): https://target.com/wp-content/plugins/nxproof/Nx.php
        -> Nx-zD Linux target 6.1.0 x86_64 uid=33(www-data) ...
Скачать инструмент