CVE-2025-10124CVE-2025-10124是存在于Booking Manager WordPress插件中的一个中等严重性安全漏洞。该漏洞源于插件在2.1.15版本之前注册了一个用于删除预订记录的短代码(shortcode),但未对该短代码的访问权限进行充分限制,导致任何具有贡献者(contributor)及以上权限的用户均可利用该短代码执行删除预订的操作。
Booking Manager是WordPress生态系统中广泛使用的一款预订管理插件,允许网站管理员管理各类预订业务。该插件通过短代码机制将预订功能集成到WordPress页面和文章中。然而,在2.1.15之前的版本中,插件注册的删除预订短代码存在权限校验缺陷,使得低权限用户能够通过在页面中嵌入特定短代码,触发预订数据的批量删除操作。
该漏洞的CVSS 3.1评分为4.5分,属于中等风险级别。虽然攻击需要贡献者级别的权限(PR:H),且需要用户交互(UI:R),但由于WordPress网站通常允许用户注册为贡献者角色,这一前提条件在许多实际场景中容易满足。漏洞的完整性影响为高(I:H),因为攻击者可以删除大量预订数据,对业务运营造成严重影响。
该漏洞由WPScan团队([email protected])发现并报告,披露日期为2025年10月10日。WPScan作为WordPress安全领域的权威机构,其发现进一步证实了该漏洞的实际危害性。建议所有使用Booking Manager插件的WordPress网站管理员尽快检查并更新到2.1.15或更高版本,以消除安全风险。
该漏洞的核心技术原理在于Booking Manager插件对短代码(shortcode)的权限控制不当。WordPress的短代码机制允许开发者在文章或页面中嵌入可执行的功能代码块,插件通过add_shortcode()函数注册自定义短代码。
在Booking Manager插件2.1.15之前的版本中,插件注册了一个用于删除预订记录的短代码(例如[booking_manager_delete]或类似名称),但该短代码的处理函数在执行删除操作前未进行充分的权限验证。具体而言,插件仅检查了当前用户是否已登录(is_user_logged_in),而未验证用户是否具有管理员(administrator)权限。
由于WordPress默认允许网站管理员开启用户注册功能,且贡献者(contributor)角色的权限级别虽然低于编辑(editor)和管理员,但仍然可以通过插件创建新页面或文章。攻击者利用此漏洞的步骤如下:
1. 注册一个贡献者级别的账户(在允许注册的WordPress站点上)
2. 创建一个新页面或文章,在内容中嵌入删除预订的短代码
3. 发布该页面(贡献者可以发布自己的页面)
4. 通过社交工程或其他方式诱导管理员或编辑访问该页面
5. 当目标用户访问包含恶意短代码的页面时,WordPress解析器执行短代码对应的删除函数,触发预订数据的批量删除
漏洞的根本原因是插件开发者在设计短代码处理逻辑时,遵循了过于宽松的权限模型。正确的做法应该是检查current_user_can('manage_options')或类似的管理员权限验证,确保只有具备足够权限的用户才能执行破坏性操作。