不用登录就能当管理员:Craft CMS CVE-2026-123488,未授权 SQL 注入
文章目录

11 月 6 日,Craft CMS 的一个未授权 SQL 注入漏洞拿到 CVE 编号,公开利用代码同一天出现在 GitHub:CVE-2026-123488,CVSS 3.1 9.8 分。
攻击者不用登录,在网站的前端搜索里拼一段 SQL,就能读写数据库,再把任意账号升成管理员。
漏洞出在 Craft CMS 的元素搜索接口:前端搜索请求里的 attribute 参数没有经过清理,直接拼进 SQL 查询;而 Craft 的 PDO 层开着模拟预处理,攻击者可以在一条请求里追加多条 SQL 语句。
读写数据库的权限到手之后,攻击者只需要改 users 表里的一列:把 1 号用户的 admin 标志置位,或者覆盖任意账号的密码哈希,就能以管理员身份登录。
只影响 MySQL 和 MariaDB 的站点。
影响范围:两个大版本都在内,Craft 4 已停止支持
受影响的是 Craft CMS 4.0.0–4.18.8 和 5.0.0–5.11.1,修复版本是 4.18.9 和 5.11.2,2026 年 9 月 17 日已经发布。
Craft 4 的用户处境更差:Craft 4 已于 2026 年 4 月 30 日停止安全支持,4.18.9 是这个分支的最后一个版本,之后的新漏洞不再有修复,迁移是唯一出路。
Craft 5 的用户可以直接升到 5.11.2,或者更新的 5.12。
时间线:补丁发了七周,编号才公开
2026 年 9 月 17 日,修复随 4.18.9 和 5.11.2 发布,藏在更新日志里,没有单独说明是安全修复。
2026 年 10 月 22 日,厂商发布安全通告 GHSA-qcvp-ggx3-97r6。
2026 年 11 月 6 日,CVE 编号公开,NVD 同日收录;公开 PoC 同日出现在 GitHub。
截至 11 月 9 日,没有确认的在野利用,也未列入 CISA KEV;EPSS 0.48%(11 月 7 日数据)。
同一批修复:还有两条需要登录的漏洞
同一批修复还包括另外两个漏洞:CVE-2026-123489,7.1 分,需登录的盲注;CVE-2026-123490,8.8 分,仅影响 Craft 5,需登录,可调用攻击者指定的静态 PHP 方法提权。
三条都与数据库查询和模板沙箱有关,升级一次全部修掉。
分数口径:9.8 是 3.1 的分,4.0 是 9.3
标题用 CVSS 3.1 的 9.8 分,由编号分配方 VulnCheck 给出;CVSS 4.0 是 9.3 分;厂商自己的通告只评了 High。
同一个漏洞还有个重复编号 CVE-2026-115934,由另一家编号分配方 Hackrate 于 11 月 9 日公开,4.0 9.3 分,描述与 123488 完全一致,NVD 的两条记录指向同一通告和同一修复版本。
专栏沿用 3.1 口径,标题用 123488 / 9.8。
先做什么
第一,升级:Craft 4 升到 4.18.9,Craft 5 升到 5.11.2 或更新的 5.12。
第二,升不上去的先顶一下:在 WAF 或反代层拦截查询字符串里含 [attribute] 或 %5Battribute%5D 的前端请求,这是 NVD 记录里给出的临时缓解方案。
第三,查日志:搜索接口的访问日志里,找带 attribute 参数的异常请求;再查 users 表,看 admin 标志和密码哈希有没有异常变更。
参考资料
[1] NVD:CVE-2026-123488:https://nvd.nist.gov/vuln/detail/CVE-2026-123488
[2] NVD:CVE-2026-115934:https://nvd.nist.gov/vuln/detail/CVE-2026-115934
[3] Craft CMS 安全通告 GHSA-qcvp-ggx3-97r6:https://github.com/craftcms/cms/security/advisories/GHSA-qcvp-ggx3-97r6
[4] VulnCheck 通告:Craft CMS 4.0.0 before 4.18.9 SQL Injection via Element Search Endpoint:https://www.vulncheck.com/advisories/craft-cms-4.0.0-before-4.18.9-sql-injection-via-element-search-endpoint
[5] ThreatAft:Craft CMS: Any Visitor Can Become Admin:https://www.threataft.com/articles/cve-2026-123488-craft-cms-element-search-sqli
[6] Tuskira:CVE-2026-123488: Craft CMS SQL injection, fix and exploit status:https://www.tuskira.ai/advisories/cve-2026-123488
[7] 公开 PoC:fixedbyreboot/CVE-2026-123488-POC:https://github.com/fixedbyreboot/CVE-2026-123488-POC
原文作者: liups.com
原文链接: https://liups.com/posts/222637a9/
许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议