CVE-2026-44351
严重已发布
fast-jwt:通过异步密钥解析器接受空 HMAC 密钥 - JWT 认证绕过
- 已发布
- 2026年5月13日
- 已更新
- 2026年5月14日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年9月15日
初级CVSS
9.1/ 10严重
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N0.2%
低 · 未来 30 天
- 百分位
- 15.0%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
fast-jwt 提供了快速的 JSON Web Token (JWT) 实现。在 6.2.4 之前,fast-jwt 的异步密钥解析器流程中存在一个严重的认证绕过漏洞,允许任何未认证的攻击者伪造被当作真实令牌接受的任意 JWT。当应用程序的密钥解析器返回空字符串('')时,例如通过常见的 `keys[decoded.header.kid] || ''` JWKS 风格回退,fast-jwt 会将其转换为零长度 Buffer,交给 `crypto.createSecretKey`,从中推导出 `allowedAlgorithms = ['HS256','HS384','HS512']`,然后使用空密钥 HMAC 验证令牌的签名。攻击者只需计算 HMAC-SHA256(key='', input='${header}.${payload}'),Node 会毫无怨言地接受——验证器就会将攻击者选择的载荷(sub、admin、scopes 等)作为真实内容返回。该漏洞已在 6.2.4 中修复。
来源
1CVE-2026-44351 的概念验证,这是 fast-jwt <6.2.4 中的一个身份验证绕过漏洞,攻击者可利用空 HMAC 密钥伪造任意 JWT 并被当作有效令牌接受。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。