CVE-2026-9576CVE-2026-9576是Fluent Booking WordPress插件中存在的一个IDOR(不安全直接对象引用)漏洞,影响2.1.2之前的所有版本。该插件是一款流行的WordPress预约/日历管理插件,广泛应用于各类网站中提供在线预订服务。
该漏洞的核心问题在于插件的导出端点(export endpoint)在处理attendee(参与者)数据导出请求时,未对请求中传入的group_id参数进行所有权验证。这意味着任何拥有Calendar Manager(日历管理员)角色及以上权限的用户,都可以通过修改请求中的group_id参数,访问并导出其他用户所拥有的日历组中的参与者数据。
被泄露的数据包括参与者的个人敏感信息(PII),具体涵盖:姓名、电子邮件地址、电话号码、地址信息以及支付信息等。这些数据一旦泄露,可能导致用户遭受钓鱼攻击、身份盗用、垃圾邮件骚扰甚至金融诈骗等风险。
该漏洞由WPScan团队([email protected])发现并报告,CVSS 3.1评分为4.9分,属于中危级别。虽然攻击需要高权限(Calendar Manager角色),但由于该角色在许多启用了该插件的网站中较为常见,且漏洞利用难度极低(仅需修改一个参数),因此实际威胁不容忽视。
值得注意的是,该漏洞的利用完全通过网络进行,无需用户交互,且对机密性影响较高(高),对完整性和可用性无影响。这使得攻击者可以在不被察觉的情况下大规模窃取用户敏感数据。
该漏洞的根源在于Fluent Booking插件导出端点缺乏对资源所有权的验证机制(Broken Access Control / IDOR)。
**漏洞原理:**
插件提供了一个REST API或AJAX端点用于导出日历组的参与者(attendee)数据。在正常情况下,当用户请求导出某个日历组的参与者数据时,系统应当验证当前登录用户是否拥有该group_id所对应的日历组的所有权或访问权限。然而,该插件的实现中,开发者在处理导出请求时,仅检查了用户是否具有Calendar Manager角色,而未对请求参数中的group_id与当前用户拥有的日历组进行匹配验证。
**利用方式:**
1. 攻击者首先需要拥有一个具有Calendar Manager角色的WordPress账户(可通过注册、购买或社工获取)。
2. 攻击者登录后,找到插件的导出功能端点(通常为admin-ajax.php或REST API端点)。
3. 攻击者创建一个属于自己的日历组,获取一个合法的group_id作为参考。
4. 攻击者将请求中的group_id参数替换为目标受害者日历组的group_id(可通过枚举或猜测获得)。
5. 服务器未进行所有权校验,直接返回目标日历组的参与者数据,包括姓名、邮箱、电话、地址及支付信息。
**关键问题:**
- 缺少基于资源的授权检查(Resource-based authorization check)
- group_id参数未与当前用户身份进行绑定验证
- 敏感数据导出操作未记录审计日志