Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-15981 — SAML Single Sign On <= 5.4.4 - Contournement de l'authentification sans authentification via le paramètre SAMLResponse | Kitploit
Outils/GitHubGitHub/nxploited/cve-2026-15981
Authentification et AutorisationGénération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebPost-ExploitationTests d'Intrusion
GitHubnxploited/cve-2026-15981

CVE-2026-15981

SAML Single Sign On <= 5.4.4 - Contournement de l'authentification sans authentification via le paramètre SAMLResponse

Voir le dépôt
23il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-15981

SAML Single Sign On <= 5.4.4 - Contournement de l'authentification sans authentification préalable via le paramètre SAMLResponse

CVE CVSS CWE CWE Python

CVE-2026-15981

SAML Single Sign On ≤ 5.4.4 — Contournement de l'authentification sans authentification préalable

Exploit de preuve de concept
Signature malformée → openssl_verify() renvoie -1 → conversion souple PHP en true → wp_set_auth_cookie() en tant qu'Administrateur


Présentation de la vulnérabilité

ChampDétail
CVE IDCVE-2026-15981
Plugin concernéminiOrange SAML 2.0 Single Sign On – SSO Login (WordPress)
Versions concernéesToutes les versions jusqu'à la 5.4.4 incluse
TypeContournement de l'authentification sans authentification préalable
CWECWE-287 : Authentification incorrecte / CWE-305 : Contournement de l'authentification par faiblesse primaire
CVSS 3.19.8 CRITIQUE — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AuthentificationAucune requise

Description

Le plugin SAML Single Sign On – SSO Login pour WordPress est vulnérable à un contournement de l'authentification dans toutes les versions jusqu'à la 5.4.4 incluse. Cela est dû au fait que la fonction mo_saml_validate_signature() effectue un contrôle booléen souple sur l'entier à trois états renvoyé par openssl_verify() de PHP, ce qui fait que la valeur d'erreur -1 est évaluée comme vraie et donc traitée comme une vérification de signature réussie.

Cela permet à des attaquants non authentifiés de se connecter en tant que n'importe quel utilisateur WordPress existant, y compris les administrateurs, en soumettant une SAMLResponse forgée contenant un NameID contrôlé par l'attaquant et une valeur de signature délibérément malformée qui déclenche une erreur de traitement OpenSSL — contournant entièrement la vérification et conduisant à l'appel de wp_set_auth_cookie() pour le compte ciblé.

Cause racine

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

Le correctif est trivial — if ($result === 1) au lieu de if ($result) — mais l'impact de la faille est un contournement total de l'authentification.


Fonctionnalités

  • Scan de masse multi-cibles — traitement concurrent des listes de cibles
  • Prise d'empreinte WordPress complète — confirme WordPress avant de continuer
  • Détection du plugin et vérification de version — identifie miniOrange SAML SSO et valide la version ≤ 5.4.4
  • Découverte des métadonnées SP — extrait l'Entity ID et l'URL ACS de ?option=mosaml_metadata
  • Énumération complète des utilisateurs :
    • WP REST API (/wp-json/wp/v2/users)
    • Requêtes REST par ID (IDs 1–10)
    • Redirections des archives d'auteur (/?author=N)
    • Correspondance de motifs dans le corps HTML
    • Repli basé sur le domaine + noms d'administrateur courants
  • Découverte de l'émetteur IdP — suit les redirections de ?option=saml_user_login et extrait les URL de base de l'IdP
  • Moteur de forge de SAMLResponse :
    • Canonicalisation Exclusive C14N correcte via lxml
    • Calcul correct du Digest (SHA-1/SHA-256/SHA-384/SHA-512)
    • Injection de l'élément Signature après </Issuer> conformément à la spécification SAML
    • Plus de 12 charges utiles de signature malformées conçues pour déclencher openssl_verify() = -1
    • Itère sur utilisateurs × émetteurs × algorithmes × signatures × indicateurs d'audience × Entity ID SP
  • Vérification de session — vérifie la présence du cookie wordpress_logged_in_* après chaque tentative
  • Confirmation du rôle administrateur — vérifie l'accès à /wp-admin/, /wp-admin/users.php, /wp-admin/plugins.php
  • Extraction du profil — lit le nom d'utilisateur et l'e-mail depuis /wp-admin/profile.php
  • 4 méthodes de téléversement de shell une fois la session admin obtenue :
    • M1 — Téléversement d'un plugin ZIP via plugin-install.php
    • M2 — Téléversement de plugin via l'API REST /wp-json/wp/v2/plugins
    • M3 — Écriture de fichier via l'éditeur de thème/plugin
    • M4 — Téléversement de média asynchrone
  • Vérification de l'exécution du shell — confirme la signature Nx-zD dans le corps de la réponse
  • Moteur de diagnostic — classe les raisons d'échec (DIGEST_FAIL, ISSUER, AUDIENCE, TIME, etc.)
  • Sortie JSON de débogage — journal de diagnostic complet par cible pour analyse

Prérequis

Python >= 3.8
pip install requests lxml

lxml est requis pour une canonicalisation Exclusive C14N correcte de l'Assertion SAML.


Utilisation

python CVE-2026-15981.py

Vous serez invité à fournir :

ParamètreDescriptionDéfaut
Fichier de ciblesChemin vers un fichier texte contenant une cible par lignelist.txt
ThreadsNombre de travailleurs concurrents (1–100)5

Format du fichier de cibles

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

Une URL par ligne. HTTP est utilisé par défaut si aucun schéma n'est spécifié.


Sortie

Terminal

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

Chaque cible progresse à travers 7 étapes étiquetées :

Télécharger l’outil