# Strapi 密码哈希最大长度验证缺失漏洞
## 概述
Strapi 是一个开源的无头 CMS。在版本 5.10.3 之前的 `@strapi/core` 包中,使用 bcryptjs 进行密码哈希时未限制密码的最大长度。
## 影响版本
受影响版本:`@strapi/core` < 5.10.3
## 漏洞细节
- Bcryptjs 在处理超过 72 字节的密码时,会**忽略超出部分**,而不会报错或提示。
- 用户可以使用超过 72 字节的密码注册,但在认证时,系统仅验证前 72 字节。
- 密码被**静默截断**,导致**熵值降低**。
- 用户可能误以为所有字符都会被验证,带来**潜在的安全误判**。
- 输入特别长的密码会增加不必要的处理开销。
## 影响
- **用户可能意外通过认证**,如果攻击者能够获取或猜出前 72 字节的内容。
- **降低密码安全性**,特别是对于使用长密码作为安全策略的用户。
- **无已知的规避方法**,建议尽快升级至修复版本 5.10.3。
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Weak Password Length Validation · Advisory · strapi/strapi · GitHub -- 🔗来源链接
标签: x_refsource_CONFIRM
神龙速读标题: fix: 72 byte maximum for creating and updating passwords · strapi/strapi@41f8cdf · GitHub -- 🔗来源链接
标签: x_refsource_MISC
神龙速读暂无评论