漏洞速览
- 漏洞编号:
CVE-2026-118066 - 风险评分:
9.1(严重) - 首次披露:2026-11-06
- 最近更新:2026-11-06
- 软件类型:插件
- 软件标识:
latepoint - 受影响版本:<= 5.7.6
- 修复版本:5.7.7
- 是否已修复:是
漏洞详情
用于 WordPress 的 Appointment Booking Plugin – LatePoint | Calendar & Scheduling 插件存在身份验证绕过漏洞,可通过账户接管实施攻击,受影响版本为 5.7.6 及之前的所有版本。该问题的根源在 lib/models/model.php 中的 OsModel::build_conditions_query() 函数:它把 WHERE 子句中的取值与字符串常量 'IS NULL'、'IS NOT NULL' 作比较,匹配后直接拼接进 SQL,而未将其作为参数绑定;5.7.5 版本引入的 is_scalar() 加固判断与 sanitize_text_field() 都无法堵住这一漏洞,因为两者都会原样放行这类标量哨兵值。由此,未认证的攻击者可以向公开的 customer_cabinet__change_password AJAX 路由发送 params[password_reset_token]=IS NOT NULL,从而匹配所有非空的 account_nonse 值,最终锁定 ID 最小的那位客户,并将该客户的密码覆盖为攻击者指定的值——攻击者由此可完全访问其预约记录、订单和个人身份信息;当站点启用了 wp_users_as_customers 选项时,还可进一步接管与之关联的 WordPress 订阅者或客户角色账户。在实施攻击前,攻击者可以先向公开的 steps__start_from_order_intent 路由发送 params[order_intent_key]=IS NOT NULL,从第一条匹配的订单意向中获取目标客户的姓名和邮箱以确定目标;随后可主动为该客户触发一次密码重置,从而自行启动所需的 15 分钟密码重置有效期窗口。
影响与风险
- 漏洞类型:Unauthenticated Authentication Bypass via Account Takeover via 'IS NOT NULL' Sentinel in 'password_reset_token' Parameter
- 风险说明:漏洞可被用于账户接管,攻击者可能绕过正常认证流程获取用户会话。
- 研究人员:Jakub Herman
修复建议
- 按官方建议执行修复:更新至 5.7.7 或更高已修复版本。
- 复核
administrator/shop manager等高权限账号与角色授权。 - 排查近期插件安装/配置变更记录,确认无异常写入。
- 建议配合 WAF 与登录审计,持续观察可疑请求。

