CVE-2025-14146WordPress Booking Calendar插件存在敏感信息泄露漏洞,攻击者可在无需认证的情况下利用此漏洞获取用户的敏感个人信息。该漏洞源于插件的`WPBC_FLEXTIMELINE_NAV` AJAX操作默认禁用了nonce验证机制(`booking_is_nonce_at_front_end`选项默认为关闭状态)。当管理员启用了`booking_is_show_popover_in_timeline_front_end`选项(该选项在演示安装中默认为启用状态)时,未经身份验证的攻击者可以通过构造特定的AJAX请求,绕过安全验证机制,非法访问并提取包含客户姓名、电子邮件地址、电话号码及预订详情等敏感数据。此漏洞影响Booking Calendar插件10.14.10及之前的所有版本,CVSS评分为5.3,属于中等严重程度。
该漏洞的技术根源在于WordPress Booking Calendar插件在处理前端时间线导航功能时,错误地允许nonce验证被条件性地禁用。插件核心文件`wpbc-ajax.php`中的`WPBC_FLEXTIMELINE_NAV` AJAX动作处理器依赖`booking_is_nonce_at_front_end`配置选项来决定是否执行nonce验证,而该选项在默认配置下为关闭状态('Off')。攻击者可以利用这一安全缺陷,通过向`/wp-admin/admin-ajax.php`端点发送特制的POST请求,指定`action=WPBC_FLEXTIMELINE_NAV`参数,即可绕过身份验证和授权检查。漏洞利用的关键条件是目标站点需启用`booking_is_show_popover_in_timeline_front_end`选项,该选项控制时间线前端弹出窗口的显示功能。通过利用`timeline_v2/wpbc-class-timeline_v2.php`中的相关功能代码,攻击者能够检索所有预订记录中的敏感客户信息,包括姓名、联系方式和预订详情。