CVE-2026-107723 · GHSA-5hjw-83fp-phq9
fast-jwt : Silent claim-validator bypass when JWT payload is a JSON array
- Risk score
- 59/100
- CVSS
- 8.1 v3.1
- Exploit chance (30 days)
- 0.4%
- 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 a validly signed JWT whose payload is a JSON array because src/decoder.js checks that the payload is an object but does not reject arrays. The claim validator loop then finds no named exp, nbf, iss, aud, sub, jt…
- 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-107723: Fast-jwt : Silent claim-validator bypass when JWT payload is a JSON array (CVSS 8.1 · 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-107720: CreateVerifier accepts unsigned JWTs when key is '' or null and algorithms is explicitly set (CVSS 7.4 · EPSS 0%)
- CVE-2026-107724: Fast-jwt treats raw public JWK JSON as an HMAC secret, enabling HS256 token forgery (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-1287 (CWE-1287). 6 other warnings in 30 days
Why it is Yellow
- CVSS 8.1 high
- 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-5hjw-83fp-phq9
- https://github.com/nearform/fast-jwt/security/advisories/GHSA-5hjw-83fp-phq9
- https://github.com/nearform/fast-jwt/pull/639
- https://github.com/nearform/fast-jwt/commit/86e83efd8b5244f50859532d99244f0a9a9a4368
- https://github.com/nearform/fast-jwt/releases/tag/v6.3.0
- https://github.com/advisories/GHSA-5hjw-83fp-phq9
Original description
fast-jwt provides fast JSON Web Token (JWT) implementation. Prior to 6.3.0, fast-jwt createVerifier accepts a validly signed JWT whose payload is a JSON array because src/decoder.js checks that the payload is an object but does not reject arrays. The claim validator loop then finds no named exp, nbf, iss, aud, sub, jti, or nonce properties and silently skips those configured checks, returning the array as a successfully verified payload. An attacker who can produce or influence a validly signed token may bypass expiry, issuer, audience, subject, revocation, and replay protections. The opt-in requiredClaims option can block missing claims, and signature verification itself is not bypassed. This issue is fixed in version 6.3.0.
Last activity 8 Oct 2026. Patch Forecast updates every hour.