CVE-2026-22599
Strapi 内容类型构建器存在 SQL 注入漏洞
- 已发布
- 2026年5月14日
- 已更新
- 2026年5月14日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年10月2日
初级CVSS
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X低 · 未来 30 天
- 百分位
- 65.8%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Strapi 是一个开源的无头内容管理系统。在 4.x 分支低于 4.26.1 的版本以及 5.x 分支低于 5.33.2 的版本中,Strapi Content-Type Builder 写入 API 存在数据库查询注入漏洞。经过身份验证的管理员可以在创建或修改内容类型时,通过 `column.defaultTo` 属性注入任意数据库语句。将 `defaultTo` 设置为元组 `[value, { isRaw: true }]` 会导致该值在架构迁移期间未经净化直接传入 Knex 的 `db.connection.raw()`,从而允许在数据库层执行任意语句。根据数据库引擎的不同,这可能导致通过数据库实用函数进行任意文件读取、因架构迁移错误强制服务器崩溃而导致拒绝服务,以及在允许执行外部程序的引擎上对数据库服务器进行远程代码执行。4.26.1 和 5.33.2 版本中的补丁通过将所有 Content-Type Builder 写入 API 限制为仅在开发模式下可用,解决了此问题。运行 v5.33.2 或更高版本的生产部署会对针对 `/content-type-builder/content-types` 及相关端点的请求返回 404,从而完全消除网络可达的攻击面。
来源
针对 CVE-2026-22599 的 Python PoC 和 Docker 实验环境,该漏洞是 Strapi 的 Content-Type Builder 写入 API 中通过 Knex 原始 defaultTo 实现的认证后 SQL 注入。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。