CVE-2025-12360Better Find and Replace是一款WordPress插件,提供AI驱动的查找和替换功能。该插件在1.7.7及之前版本中存在严重的访问控制缺陷。插件的rtafar_ajax()函数缺少必要的权限验证机制,允许任何已认证用户(包括最低权限的Subscriber订阅者角色)调用该AJAX端点。该函数会使用插件配置的OpenAI API密钥与OpenAI服务进行交互,执行AI相关的查找和替换操作。由于缺乏调用频率限制和权限检查,攻击者可以反复调用该接口,大量消耗OpenAI API配额,造成服务费用激增。虽然此漏洞不直接导致数据泄露或服务器被入侵,但会造成经济损失和服务可用性问题。攻击者无需高级权限,只需一个普通的WordPress账户即可实施攻击。
漏洞根源在于WordPress插件的RTAFAR_CustomAjax.php文件中rtafar_ajax()函数缺少current_user_can()或类似权限检查。具体来说,该AJAX处理函数直接处理用户请求并调用OpenAI API,而没有验证调用者是否具有管理权限。WordPress的AJAX端点通常需要通过wp_ajax_*动作钩子注册,正确的实现应该在处理函数开头添加权限验证,如current_user_can('manage_options')检查。然而该插件直接暴露了API调用功能,任何登录用户都可以通过向wp-admin/admin-ajax.php发送POST请求,指定action=rtafar_ajax参数来触发OpenAI API调用。攻击者可以构造自动化脚本批量发送请求,每次API调用都会消耗配额并产生费用。插件使用Real-Time Auto Find And Replace名称,前台AJAX功能未做权限隔离。