(7.5分) CVE-2023-22894:Strapi敏感信息泄露
红队安全圈
红队安全圈
红队安全圈
2026年10月9日 08:00
重庆
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
Strapi 老洞进 CISA KEV:无需认证,靠查询过滤器逐位猜出管理员密码哈希和重置令牌,接管后台。
Strapi 被重新盯上了。CISA 已知被利用漏洞目录新增 CVE-2023-22894——这个 2023 年 4 月就修复的老洞,最近被证实有未认证利用链在实战中出现。开源无头 CMS Strapi 4.8.0 之前版本都受影响,攻击者可通过查询过滤器逐步猜出管理员密码哈希和重置令牌,直接接管后台。更要命的是它能和 CVE-2023-22621 串成无认证 RCE。用 Strapi 的站点这两天值得自查一遍。
01 漏洞速览
漏洞编号CVE-2023-22894
影响产品Strapi(@strapi/strapi)
受影响版本3.2.1 ≤ 版本 < 4.8.0
漏洞类型信息泄露(CWE-200)
危害等级Snyk 7.5 高危 / NVD 4.9
是否在野是,已入 CISA KEV
公开 PoC有(GitHub)
02 漏洞成因
Strapi 的 REST API 支持强大的查询过滤语法,客户端可以在请求参数里对任意字段做条件过滤。问题在于过滤机制没有对私有字段做防护——password、reset\_password\_token、email 这类敏感列照样能被写进过滤条件。
API 响应本身不会直接返回密码字段,但过滤器变成了一个\"是/否\"判定器:过滤命中返回结果,不命中返回空。攻击者逐字符构造过滤条件(比如\"password 以 a 开头且第二位是 b\"),看响应有没有数据,就能一位一位把敏感值完整推演出来。本质是过滤器把私密数据变成了可枚举的侧信道。
03 影响范围
受影响:Strapi 3.2.1 及以上、4.8.0 之前所有版本。已修复:4.8.0,补丁对查询过滤做了敏感字段净化。
注意:部分受影响的老版本已停止维护(EOL/EoS),没有补丁可打,建议直接迁移到受支持的版本。
04 利用分析
GitHub 上有现成 PoC(Saboor-Hakimi/CVE-2023-22894),核心思路:不认证直接利用,需要一个与 User 有关系的公开端点,通过过滤逐位拖出敏感信息,配合 -d true 参数可直接 dump 管理员密码重置令牌。
准备环境:
git clone https://github.com/
Saboor-Hakimi/CVE-2023-22894
cd CVE-2023-22894
pip install requests
执行利用:
python3 dump-authless.py \
-u http://example.com \
-e /api/articles -d true
利用效果:拿到目标 Strapi 管理员的重置令牌,请求重置密码即可接管后台。链条再往前一步,配合 CVE-2023-22621 可以打成未认证 RCE。前提条件是目标存在一个和 User 表有关联的公开内容端点(文章、评论这类很常见),实战中大多能找到。
05 检测与排查
利用载荷全在 GET 参数里,请求日志里就能看到。直接在 Nginx/WAF 日志里按下面模式匹配,命中即说明被探测过:
/([|%5B)\s\*(email|password|
reset\_password\_token|
resetPasswordToken)\s\*(]|%5D)/
主动排查版本:项目目录下跑 npm ls @strapi/strapi,低于 4.8.0 就要处理。
06 修复建议
升级到 Strapi 4.8.0 或更高版本,这是唯一根治方案。临时缓解可在 WAF/反代上拦掉含 password、reset\_password\_token 等字样的查询参数。已 EOL 的旧版本别再续命,直接迁移。同时检查管理员账号有无异常重置记录。
07 红队视角
这个洞单看 CVSS(NVD 只给了 4.9 中危)很容易被忽视,但实战价值相当高:无认证、全自动化、PoC 现成,信息泄露直通账号接管。对 Strapi 站点,攻击路径基本是\"发现公开端点,跑 PoC dump 令牌,接管后台\"。如果目标还是旧版,再用 CVE-2023-22621 收尾就是 RCE,从边界一站打到服务器。
给蓝队的提醒:NVD 的 4.9 分严重低估了这个洞的实际风险,已进 KEV 就是明证。资产清点时把 Strapi 版本列进排查清单,别让 4.8.0 之前的实例挂在公网。
08 POC 链接
https://github.com/Saboor-Hakimi/
CVE-2023-22894
说明:GitHub PoC 仓库,Python 脚本,未认证利用,可 dump 管理员重置令牌。仅供安全研究与授权测试使用。
如果文章对您有收获,欢迎关注、点赞、推荐、转发。
— END —
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论