Laravel TokenGuard 严重漏洞(CVSS 9.2)可让攻击者以任意用户身份登录
sec随谈
sec随谈
sec随谈
2026年10月20日 09:24
北京
去阅读
内容摘要
Laravel 于 2026 年 10 月 19 日发布了两份安全公告。其中较严重的是 TokenGuard 中的一个严重身份认证绕过漏洞,CVSS 评分 9.2,可导致账户被接管。另一个中危漏洞则可让仅有只读权限的用户清空相关的数据库表。
为何值得关注
Laravel 是使用最广泛的 PHP 框架之一,许多 API 都依赖其令牌守卫(token guard)。这个身份认证绕过漏洞无需登录,也无需有效令牌。因此,任何受该守卫保护的路由都可能暴露在风险之中。
攻击原理
TokenGuard 身份认证绕过(CVSS 9.2)
第一份公告 GHSA-f9x3-7vq9-cph6 影响使用 MySQL 或 MariaDB 的应用。框架在登录查询过程中未能正确处理经过特殊构造的非字符串凭证,查询不会失败,反而可能匹配到错误的用户记录。
Laravel 警告称:“未经身份验证的攻击者可能在不掌握某用户 API 令牌的情况下,以该用户身份通过认证。”实际上,这意味着账户可被接管。
未授权数据破坏(CVSS 6.5)
第二份公告 GHSA-5wcm-3v2w-8362 涉及读取类接口中的关联关系加载功能。经过特殊构造的请求可在关联表上触发破坏性的数据库操作。据 Laravel 称,拥有读取权限的用户“可能造成不可逆的数据丢失”。
利用状态
这两个漏洞目前均尚未分配 CVE 编号,也尚未确认存在在野利用或公开的概念验证(PoC)代码。
受影响版本
- TokenGuard 认证绕过:laravel/framework 12.68.0 之前的版本,以及 13.x 中 13.29.0 之前的版本
- 数据破坏:12.x 中 12.45.0 至 12.68.0 之前的版本,以及 13.x 中 13.27.0 之前的版本
补丁与缓解措施
- 升级至 Laravel 13.29.0,或 12.x 分支的 12.68.0。这些版本同时修复了上述两个漏洞。
- 检查日志,排查受令牌保护的 API 路由上是否存在异常登录,尤其是来自未知 IP 地址的登录。
- 对加载关联关系的读取类接口背后的数据库进行备份。
由于该身份认证绕过漏洞无需任何凭证即可利用,使用 MySQL 或 MariaDB 的团队应优先打补丁。
参考链接:
https://github.com/laravel/framework/security/advisories/GHSA-5wcm-3v2w-8362
https://github.com/laravel/framework/security/advisories/GHSA-f9x3-7vq9-cph6
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论