Quick answers
- Is CVE-2026-35039 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-35039 being exploited in the wild.
- How severe is CVE-2026-35039?
- Critical severity, with a CVSS score of 9.1, published 6 April 2026.
- Which products and versions are affected?
- fast-jwt (npm) SEMVER:introduced=0.0.1,fixed=6.2.0.
- Is there a fix for CVE-2026-35039?
- Yes. fast-jwt (npm): upgrade to 6.2.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-35039 attacked?
- It is attacked over the network.
- Am I affected by CVE-2026-35039?
- Check whether you run Nearform Fast-Jwt or fast-jwt (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- fast-jwt (npm): upgrade to 6.2.0 or later
npm install fast-jwt@6.2.0
Technical details
The vulnerability is a cache collision issue in the verifier's cacheKeyBuilder mechanism (src/verifier.js). When caching is enabled and a developer supplies a custom cacheKeyBuilder that produces non-unique keys for different tokens, the verifier returns the cached payload of a previously-verified token instead of validating and returning the current token's payload. For example, if two tokens for different users (userA and userB) both produce the cache key "aud=admin", verifying userB's token will return userA's cached claims. The vulnerability requires both caching to be explicitly enabled and a custom cacheKeyBuilder to be configured; the default caching behavior uses secure hashing and is not affected. No authentication bypass is required—attackers only need to submit valid JWTs with payloads that collide on the cache key.
Affected products
- nearform fast-jwt 0.0.1 to 6.1.0 (patched in 6.2.0)
Identifiers
- CVE-2026-35039
- GHSA-rp9m-7r4c-75qg
Timeline
- 2026-04-03: disclosed
- 2026-04-03: patched: Patch released in version 6.2.0, though library maintainers note this is primarily an education/warning update as the vulnerability stems from developer misuse of the API