CVE-2026-27886Strapi是一款开源无头CMS。其在4.0.0至5.37.0之前的版本中存在严重安全漏洞。由于未充分过滤通过关系字段进行内容筛选时的查询参数,未经身份验证的攻击者可利用公开API端点的`where`参数,针对`admin_users`表执行布尔预言机攻击。这允许攻击者提取管理员重置令牌等敏感字段,从而在无需认证的情况下完全接管管理员账户,造成严重的安全风险。
该漏洞源于Strapi在处理关系字段查询参数时的校验不足。当攻击者对公开的内容类型(如包含`updatedBy`字段的类型)发送包含嵌套过滤器的请求(例如`where[updatedBy][resetPasswordToken][$startsWith]=a`)时,系统会在生成SQL查询时对`admin_users`表执行`LEFT JOIN`,并在`WHERE`子句中引用连接的列。关键问题在于,查询参数清理层未能阻止遍历到调用者无读取权限的关系目标架构的操作符链。攻击者利用响应计数作为一位预言机,通过布尔盲注技术逐位推断`resetPasswordToken`的值。一旦获取到有效的重置令牌,攻击者即可构造请求重置管理员密码,从而绕过认证机制获得系统的完全控制权。