CVE-2026-107719 in fast-jwtinfo

Summary

by MITRE • 10/09/2026

fast-jwt provides fast JSON Web Token (JWT) implementation. Prior to 6.3.4, the fast-jwt createVerifier cache can continue accepting a previously valid, signed JWT after its exp time when caching is enabled and the token has exp but no iat. In src/verifier.js, cacheSet derives the exp cache deadline only when iat is present, so the cache falls back to cacheTTL, and a later cache hit returns the saved payload before verifyToken rechecks expiration. An attacker who can replay the same cached bearer token can extend access until the cache entry expires, but cannot forge a token through this issue. This issue is fixed in version 6.3.4.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 10/09/2026

The fast-jwt library serves as a high-performance implementation for JSON Web Token operations within Node.js environments. A specific vulnerability exists in versions prior to 6.3.4 regarding the behavior of its verification cache when handling tokens that contain an expiration claim but lack an issued-at claim. This flaw stems from logic errors in the src/verifier.js module, specifically within the cacheSet function which determines how long a verified token payload should remain cached for subsequent requests.

The technical root cause lies in the conditional logic used to derive the cache deadline. When a JWT includes both expiration and issued-at claims, the library correctly calculates the remaining validity window based on these timestamps. However, when a token contains an exp claim but omits the iat claim, the code fails to compute a dynamic expiry for the cache entry. Instead of defaulting to zero or rejecting the caching behavior for such tokens, it falls back to using the global cacheTTL setting. This means that once a valid JWT is verified and cached under these specific conditions, the system retains the decoded payload in memory for the duration defined by cacheTTL, regardless of whether the actual token has expired according to its exp timestamp.

This architectural oversight leads to a significant operational impact centered on authentication bypass through replay attacks. An attacker who intercepts or obtains a valid JWT that is past its expiration date can present this stale token to an application using fast-jwt with caching enabled. Because the cache entry persists beyond the token's actual validity period, subsequent verification attempts may retrieve the cached payload directly without re-evaluating the cryptographic signature and claims against current time constraints in every instance. Consequently, access control mechanisms relying on JWT expiration checks are effectively bypassed for the duration of the cache TTL, allowing unauthorized continued access to protected resources using expired credentials.

From a threat modeling perspective, this vulnerability aligns with CWE-290, which covers Authentication Bypass by Spoofing, as well as CWE-613, Insufficient Session Expiration. In terms of MITRE ATT&CK techniques, it facilitates the Tactic TA0001 Initial Access through Technique T1528 Steal Application Access Token, specifically leveraging replay attacks against cached authentication states. It is important to note that this vulnerability does not allow for token forgery or signature manipulation; rather, it exploits the state management of verified tokens within the application layer cache.

To mitigate this risk, organizations must upgrade fast-jwt to version 6.3.4 or later where the logic has been corrected to properly handle tokens with exp but no iat by ensuring they do not benefit from extended caching periods beyond their actual validity window. For environments unable to immediately patch, administrators should consider disabling token verification caching entirely if performance constraints allow, thereby forcing every request to undergo full cryptographic and claim validation against current time standards. Additionally, implementing strict monitoring for expired token usage patterns can help detect potential exploitation attempts in real-time while remediation efforts are underway.

Responsible

GitHub M

Reservation

10/08/2026

Disclosure

10/09/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Want to know what is going to be exploited?

We predict KEV entries!