CVE-2025-14384All in One SEO是一款流行的WordPress SEO优化插件,全球数百万网站使用。该插件在4.9.2及之前版本中存在一个严重的安全漏洞:由于REST API端点 `/aioseo/v1/ai/credits` 缺少权限检查(capability check),任何具有Contributor级别或更高权限的已认证用户都可以无需管理员授权直接访问该API接口。通过该漏洞,攻击者可以获取插件的全局AI访问令牌,该令牌通常用于连接外部AI服务。一旦攻击者获取了AI访问令牌,可能会导致:1) 外部AI服务被滥用,产生额外费用;2) AI服务账户被完全接管;3) 利用AI功能进行进一步攻击。由于WordPress的Contributor角色用户数量众多,且该漏洞利用无需复杂技术,任何了解此漏洞的低权限用户都可能实施攻击。
漏洞根源在于All in One SEO插件的REST API路由注册时未正确实施权限检查。插件注册了 `/aioseo/v1/ai/credits` 路由来处理AI功能相关的请求,但使用了 `register_rest_route()` 函数时未指定 `permission_callback` 参数或该回调函数未正确验证用户权限。攻击者只需构造一个简单的HTTP GET请求到该REST端点,使用有效的WordPress认证cookie(Contributor级别账户),即可在响应中获取全局AI访问令牌。攻击利用步骤:首先攻击者需要拥有一个至少具有Contributor角色的WordPress账户,或者通过其他方式(如社会工程学、XSS等)获取此类账户凭据;然后使用该凭据登录后,构造对 `/wp-json/aioseo/v1/ai/credits` 端点的请求;服务器在验证用户身份后直接返回包含AI令牌的数据,未检查用户是否具有管理AI功能的权限。响应数据通常为JSON格式,其中包含 `accessToken` 或类似字段即为全局AI访问令牌。