CVE-2026-44351fast-jwt 在 6.2.4 之前的版本中存在严重的认证绕过漏洞。当应用的密钥解析器返回空字符串时,fast-jwt 会将其视为零长度 Buffer 进行 HMAC 验证。攻击者可利用此机制伪造任意 JWT 令牌,从而在不提供有效凭证的情况下通过身份验证,完全接管用户权限。
该漏洞的核心在于 fast-jwt 对异步密钥解析器返回值的处理不当。当解析器返回空字符串(通常发生在 JWKS 密钥未找到时的默认回退),fast-jwt 会将其转换为 Buffer 并调用 `crypto.createSecretKey`,进而允许使用 HS256 等算法进行签名验证。攻击者利用 Node.js 允许空密钥进行 HMAC 计算的特性,只需用空密钥对精心构造的 Header 和 Payload 进行签名,即可生成合法的 JWT。由于服务端也使用空密钥验证,伪造的令牌会被接受,导致严重的身份认证绕过风险。