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
POC-WP-XSS2Shell-CVE-2026-64638 — PoC fonctionnel de CVE-2026-64638 (XSS2Shell) : chaîne XSS pre-auth vers RCE dans WordPress Core. Laboratoire Docker + serveur attaquant Python + analyse technique et atténuation. | Kitploit
Outils/GitHubGitHub/686f6c61/poc-wp-xss2shell-cve-2026-64638
Analyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationDéveloppement de Charges UtilesLabs et Pratique
GitHub686f6c61/poc-wp-xss2shell-cve-2026-64638

POC-WP-XSS2Shell-CVE-2026-64638

PoC fonctionnel de CVE-2026-64638 (XSS2Shell) : chaîne XSS pre-auth vers RCE dans WordPress Core. Laboratoire Docker + serveur attaquant Python + analyse technique et atténuation.

Voir le dépôt
112il y a 1 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

XSS2Shell — PoC de CVE-2026-64638

Preuve de concept éducative de la chaîne XSS2Shell (CVE-2026-64638), vulnérabilité pré-authentification XSS → RCE dans WordPress Core découverte de manière autonome par pwn.ai et divulguée le 7 août 2026.


Table des matières

  1. Résumé exécutif
  2. Avis légal
  3. Architecture de la chaîne
  4. Prérequis
  5. Structure du dépôt
  6. Guide de démarrage rapide
  7. Vérification de l'exploitation
  8. Documentation complémentaire

Résumé exécutif

CVE-2026-64638 est une vulnérabilité de type cross-site scripting (XSS) réfléchi, pré-authentification, dans l'écran de connexion de WordPress (wp-login.php). Elle affecte toutes les versions de WordPress sous maintenance antérieures à la 7.0.3, publiée le 6 août 2026 en tant que security release d'urgence. Un score CVSS v4.0 de 8.9 lui a été attribué.

La chaîne baptisée XSS2Shell démontre comment, à partir uniquement d'une tentative de login échouée avec un username manipulé, un attaquant peut :

  1. Injecter des éléments DOM vivants dans la page de login en exploitant une divergence entre deux analyseurs syntaxiques de PHP (strip_tags) et de WordPress (wp_kses_post).
  2. Détourner le flux d'exécution du JavaScript propre à WordPress (user-profile.js) pour effectuer une requête REST JSONP vers la même origine.
  3. Convertir la réponse JSONP en exécution de JavaScript dans l'origine de WordPress via jQuery.globalEval().
  4. Enchaîner le tout avec la technique Same Origin Method Execution (SOME) de Paulos Yibelo (2022) pour cliquer automatiquement sur le bouton d'approbation des Application Passwords dans la session authentifiée d'un administrateur.
  5. Capturer la crédential Application Password résultante, publier une page avec du JavaScript malveillant et, finalement, téléverser un plugin au format ZIP qui exécute du PHP sur le serveur.

Le résultat est l'exécution de code à distance (RCE) sur le serveur WordPress, sous l'utilisateur du processus web (typiquement www-data), à partir d'un unique click de l'administrateur sur un lien contrôlé par l'attaquant.


Avis légal

Ce dépôt contient du matériel strictement éducatif et défensif.

  • Objectif : démontrer la chaîne d'exploitation à des fins de formation, d'audit personnel et de validation de patches.
  • Utilisation autorisée : exécutez-le uniquement contre des installations WordPress qui vous appartiennent ou pour lesquelles vous disposez d'une autorisation écrite explicite.
  • Interdit : toute utilisation contre des systèmes tiers sans consentement. L'auteur du dépôt décline toute responsabilité en cas d'utilisation abusive du matériel inclus ici.
  • Responsabilité : l'opérateur est seul responsable du respect de la législation applicable (LOPD/RGPD en Espagne, CFAA aux États-Unis, etc.).

La PoC est fournie avec un environnement Docker autonome dont l'unique finalité est de servir de cible locale et reproductible.


Architecture de la chaîne

┌─────────────────────────────────────────────────────────────────────┐
│  1. XSS pré-auth dans wp-login.php                                   │
│     log=< area id=ajaxurl href=/?rest_route=/&_jsonp=...>           │
│     (divergence strip_tags ↔ wp_kses_post)                          │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  2. user-profile.js déclenche .trigger('click')                      │
│     DOM clobbering de ajaxurl → requête POST vers l'origine         │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  3. REST JSONP répond application/javascript                        │
│     jQuery.globalEval() exécute le callback dans l'origine WP       │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │  callback = window.opener
                                           │            .approve.click
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  4. SOME : click() franchit la frontière opener→admin               │
│     authorize-application.php#approve est cliqué dans la session admin │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  5. WP crée Application Password → redirige vers success_url        │
│     L'attaquant capture user_login + password dans callback.php     │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │  HTTP Basic REST
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  6. POST /wp-json/wp/v2/pages  → publie une page avec <script>      │
│     L'admin visite la page → JS dans l'origine WP avec session admin │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  7. fetch update.php?action=upload-plugin  → téléverse payload.zip  │
│     Le PHP du plugin est accessible directement sans l'activer      │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  8. RCE confirmée : GET /wp-content/plugins/payload/shell.php       │
└─────────────────────────────────────────────────────────────────────┘

Prérequis

La PoC est conçue pour fonctionner sur macOS ou Linux avec :

  • Docker 24+ et Docker Compose v2 (pour la cible locale).
  • Python 3.9+ (pour l'orchestrateur optionnel).
  • PHP 8.1+ avec l'extension zip (pour construire le payload manuellement, optionnel ; le ZIP déjà construit est inclus dans payload/).
  • Un navigateur moderne basé sur Chromium ou Firefox.

Il n'est pas nécessaire d'installer WordPress manuellement : le docker-compose.yml démarre un WordPress 7.0.2 vulnérable (la dernière version antérieure au correctif) avec MariaDB.


Structure du dépôt

POC XSS2Shell (CVE-2026-64638)/
├── README.md                       ← Ce fichier
├── docker-compose.yml              ← Cible : WordPress 7.0.2 + MariaDB
├── .env.example                    ← Variables de configuration
├── exploit.py                      ← Orchestrateur en Python (optionnel)
├── attacker/                       ← Infrastructure de l'attaquant
│   ├── index.html                  ← Page leurre avec la chaîne SOME
│   ├── callback.php                ← Récepteur de l'Application Password
│   └── server.py                   ← Serveur statique + PHP embarqué
├── payload/                        ← Plugin ZIP malveillant
│   ├── build_payload.py            ← Générateur du ZIP
│   ├── shell.php                   ← Webshell minimal
│   └── payload.zip                 ← ZIP préconstruit (prêt à l'emploi)
└── docs/
    ├── ANALISIS.md                 ← Analyse technique détaillée
    └── MITIGACION.md               ← Guide de mitigation et de durcissement

Guide de démarrage rapide

Télécharger l’outil