[ CVE-2026-107720 · Published 8 Oct 2026 ]
fast-jwt: createVerifier accepts unsigned JWTs when key is '' or null and algorithms is explicitly set
CVSS 7.4
EPSS <1%Fix available
[ Why it matters ]Priority signals
- Public proof-of-concept exploit exists (CISA SSVC)
[ Description ]Official description
fast-jwt provides fast JSON Web Token (JWT) implementation. Prior to 6.3.1, fast-jwt createVerifier accepts an unsigned JWT when key is an empty string or null and algorithms is a non-empty allowlist. Falsy synchronous keys bypass prepareKeyOrSecret, allowedAlgorithms remains active, hasKey is false, and the empty signature avoids the verifySignature gate. An attacker can therefore submit a token containing arbitrary claims without possessing a signing key, resulting in authentication or authorization bypass. Claim validators still run, and non-empty keys, an empty key without algorithms, and the async key resolver path do not have this behavior. This issue is fixed in version 6.3.1.
[ Fixes ]Fixes and patches
- fast-jwt 6.3.1Fixed version · GitHub Advisories · npm package fast-jwt: upgrade to 6.3.1 or later (affected <= 6.3.0)
[ Packages ]Affected open-source packages
- fast-jwt npmAffected <= 6.3.0 · fixed in 6.3.1 · GHSA-8wpc-h4q6-8fxv