CVE-2026-107721 · GHSA-687g-22h4-j4w4
fast-jwt clockTolerance: Infinity silently bypasses both exp and nbf validation (and persists in the verifier cache)
- Risk score
- 46/100
- CVSS
- 5.9 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.0, fast-jwt createVerifier accepts Infinity for clockTolerance because its option validation checks type and negativity but not finiteness. In validateClaimDateValue, infinite positive and negative modifiers make exp and nbf comparisons always pa…
- Affected
- fast-jwt (npm) <= 6.2.4
- Fix
- Upgrade fast-jwt to 6.3.0 or later.
- Exploitation
- No known exploitation
Story map
At a glance
fast-jwt: Amber, patch this week. fast-jwt provides fast JSON Web Token (JWT) implementation. From 6.2.0 until 6.3.0, fast-jwt can misclassify RSA public-key text as an HMAC secret when the key has non-whitespace content before its PEM header. In src/crypto.js, performDetectPublicKeyAlgorithms trims whitespace but publicKeyPemMatcher remains start-anc…
The flaws
- CVE-2026-107721: Fast-jwt clockTolerance: Infinity silently bypasses both exp and nbf validation (and persists in the verifier cache) (CVSS 5.9 · EPSS 0%)
- CVE-2026-107722: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion (CVSS 9.8 · EPSS 0%)
- CVE-2026-107723: Fast-jwt : Silent claim-validator bypass when JWT payload is a JSON array (CVSS 8.1 · EPSS 0%)
- CVE-2026-107720: CreateVerifier accepts unsigned JWTs when key is '' or null and algorithms is explicitly set (CVSS 7.4 · EPSS 0%)
The fix
Upgrade fast-jwt: 6.3.0 · 6.3.1 or later on your release line
Who is exposed: fast-jwt (npm) >= 6.2.0, <= 6.2.4
Where it stands
- No known exploitation
Connects to
- Same weakness: CWE-613 (CWE-613). 34 other warnings in 30 days
Why it is Yellow
- CVSS 5.9 medium
- On your watchlist: npm
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| fast-jwt | npm | <= 6.2.4 | 6.3.0 |
References
- https://github.com/advisories/GHSA-687g-22h4-j4w4
- https://github.com/nearform/fast-jwt/security/advisories/GHSA-687g-22h4-j4w4
- https://github.com/nearform/fast-jwt/commit/c0fb5b88b4c88ff2bdd194ca2c713599ad9e38b6
- https://github.com/nearform/fast-jwt/releases/tag/v6.3.0
- https://github.com/advisories/GHSA-687g-22h4-j4w4
Original description
fast-jwt provides fast JSON Web Token (JWT) implementation. Prior to 6.3.0, fast-jwt createVerifier accepts Infinity for clockTolerance because its option validation checks type and negativity but not finiteness. In validateClaimDateValue, infinite positive and negative modifiers make exp and nbf comparisons always pass, allowing expired or not-yet-active tokens to be accepted. The verifier cache also derives infinite bounds, so entries created under this configuration can remain valid until eviction. Exploitation requires an application administrator or equivalent configuration path to set clockTolerance to Infinity. This issue is fixed in version 6.3.0.
Last activity 8 Oct 2026. Patch Forecast updates every hour.