CVE-2026-1704WordPress的Simply Schedule Appointments Booking Plugin插件存在一个不安全的直接对象引用(IDOR)漏洞,攻击者可以利用该漏洞访问其他员工的预约记录和客户敏感信息。该漏洞影响插件1.6.9.29及之前的所有版本。由于插件在REST API的权限检查中,仅验证用户是否具有ssa_manage_appointments能力,而未验证用户是否拥有请求的预约记录所有权,导致任何具有该能力的认证用户(如团队成员)都可以通过修改预约ID参数来查看任意预约详情,包括客户的姓名、邮箱、电话等个人信息。此漏洞的CVSS评分为4.3,属于中等严重程度,但由于涉及敏感个人信息泄露,仍需及时修复。
该漏洞源于插件的REST API端点中get_item_permissions_check方法的实现缺陷。在WordPress REST API框架中,get_item_permissions_check方法用于控制对单个资源的访问权限。插件错误地实现了该方法,仅检查调用者是否具有ssa_manage_appointments能力,但没有验证请求的预约记录是否属于该用户。攻击者可以通过以下方式利用:1) 使用具有ssa_manage_appointments能力的账户登录WordPress;2) 拦截对插件REST API的请求;3) 修改请求中的appointment ID参数为其他员工的预约ID;4) 成功获取该预约的完整信息,包括客户姓名、邮箱、电话、地址等敏感数据。漏洞代码位于class-appointment-model.php文件的第1348和1436行附近。修复方案需要在get_item_permissions_check方法中添加对预约记录所有权的验证逻辑。