CVE-2026-107720 · GHSA-8wpc-h4q6-8fxv
fast-jwt: createVerifier accepts unsigned JWTs when key is '' or null and algorithms is explicitly set
- Risk score
- 58/100
- CVSS
- 7.4 v3.1
- Exploit chance (30 days)
- 0.3%
- Published
- 8 Oct 2026
Open in the live forecast Today's forecast
What to know
- What it is
- 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 sig…
- Affected
- fast-jwt (npm) <= 6.3.0
- Fix
- Upgrade fast-jwt to 6.3.1 or later.
- Exploitation
- No known exploitation
Why it is Yellow
- CVSS 7.4 high
- Remotely exploitable without logging in
- On your watchlist: npm
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| fast-jwt | npm | <= 6.3.0 | 6.3.1 |
References
- https://github.com/advisories/GHSA-8wpc-h4q6-8fxv
- https://github.com/nearform/fast-jwt/security/advisories/GHSA-8wpc-h4q6-8fxv
- https://github.com/nearform/fast-jwt/pull/649
- https://github.com/nearform/fast-jwt/commit/e22a151e83bf6d5e54e281216982d204d5665534
- https://github.com/nearform/fast-jwt/releases/tag/v6.3.1
- https://github.com/advisories/GHSA-8wpc-h4q6-8fxv
Original 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.
Last activity 8 Oct 2026. Patch Forecast updates every hour.