CVE 9.1 CRITICAL

fast-jwt: Empty HMAC secret accepted via async key resolver – JWT auth bypass_CVE-2026-44351

9.1 / 10
CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Description

fast-jwt provides fast JSON Web Token (JWT) implementation. Prior to 6.2.4, a critical authentication-bypass vulnerability in fast-jwt's async key-resolver flow allows any unauthenticated attacker to forge arbitrary JWTs that are accepted as authentic. When the application's key resolver returns an empty string (''), for example via the common keys[decoded.header.kid] || '' JWKS-style fallback, fast-jwt converts it to a zero-length Buffer, hands it to crypto.createSecretKey, derives allowedAlgorithms = ['HS256','HS384','HS512'] from it, and then verifies the token's signature against an empty-key HMAC. The attacker simply computes HMAC-SHA256(key='', input='${header}.${payload}'), which Node accepts without complaint — and the verifier returns the attacker-chosen payload (sub, admin, scopes, etc.) as authentic. This vulnerability is fixed in 6.2.4.

AI Analysis

Authentication-bypass vulnerability in fast-jwt's async key-resolver flow allows unauthenticated attackers to forge arbitrary JWTs

Basic Information

ID CVE-2026-44351
Source GitHub_M
Published May 13, 2026 at 19:12

Affected Product

Vendor nearform
Product fast-jwt
Version < 6.2.4
Affected Versions nearform fast-jwt < 6.2.4

CWE Classification

AI Assessment

AI Score 9.1 / 10
AI Severity Critical
Vendor nearform
Product fast-jwt
Version < 6.2.4

References

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.