[ 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