169 matches found
CVE-2023-48223
CVE-2023-48223 PoC fast-jwt Algorithm Confusion This repository demonstrates JWT algorithm confusion in fast-jwt when token verification does not lock allowed algorithms. Environment Setup Requirements Node.js 18 or newer npm OpenSSL must be available in your terminal PATH 1 Install dependencies...
CVE-2025-30144
Summary The fast-jwt library does not properly validate the iss claim based on the RFC https://datatracker.ietf.org/doc/html/rfc7519page-9. Details The iss issuer claim validation within the fast-jwt library permits an array of strings as a valid iss value. This design flaw enables a potential...
CVE-2026-44351-poc
CVE-2026-44351 — JWT Forgery via Empty Secret in fast-jwt PoC of the authentication bypass auth bypass in fast-jwt versions prior to 6.2.4 that allows any unauthenticated attacker to forge arbitrary JWTs and have them accepted as authentic by the target application. | ---|--- CVE| CVE-2026-44351...
CVE-2026-107720
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 fals...
CVE-2026-107721
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...
CVE-2026-107724
fast-jwt provides fast JSON Web Token JWT implementation. In 6.2.4, fast-jwt can classify raw serialized public JWK or JWKS JSON as an HMAC secret because src/crypto.js performDetectPublicKeyAlgorithms treats non-PEM strings as symmetric key material. If HS256 is explicitly allowed or inferred, a...
CVE-2026-107722
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 publicKeyPemMatch...
CVE-2026-107723
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, nb...
CVE-2026-107719
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 deadlin...
NPM: fast-jwt: Verifier cache accepts expired JWTs without iat.
NPM: fast-jwt: Verifier cache accepts expired JWTs without iat. vulnerability discovered by ? in WordPress Npm fast-jwt versions = 6.3.3...
GHSA-X937-HJ6V-793P fast-jwt: Verifier cache accepts expired JWTs without iat.
Summary cacheSet only derives its exp cache deadline inside hasIat src/verifier.js:127-140. JWT iat is optional. For a valid token with exp but no iat, cacheSet substitutes clockTimestamp + clockTolerance + cacheTTL src/verifier.js:142-146. Later, the cache path returns the saved payload before...
fast-jwt: Verifier cache accepts expired JWTs without iat.
Summary cacheSet only derives its exp cache deadline inside hasIat src/verifier.js:127-140. JWT iat is optional. For a valid token with exp but no iat, cacheSet substitutes clockTimestamp + clockTolerance + cacheTTL src/verifier.js:142-146. Later, the cache path returns the saved payload before...
fast-jwt: createVerifier accepts unsigned JWTs when key is '' or null and algorithms is explicitly set
Summary createVerifier in fast-jwt ≤ 6.3.0 skips signature verification entirely when the key option is a falsy synchronous value '' or null and the algorithms option is set to a non-empty allowlist. An attacker who can present a JWT to the application — regardless of algorithm — can forge...
GHSA-8WPC-H4Q6-8FXV fast-jwt: createVerifier accepts unsigned JWTs when key is '' or null and algorithms is explicitly set
Summary createVerifier in fast-jwt ≤ 6.3.0 skips signature verification entirely when the key option is a falsy synchronous value '' or null and the algorithms option is set to a non-empty allowlist. An attacker who can present a JWT to the application — regardless of algorithm — can forge...
NPM: fast-jwt: createVerifier accepts unsigned JWTs when key is '' or null and algorithms is explicitly set
NPM: fast-jwt: createVerifier accepts unsigned JWTs when key is '' or null and algorithms is explicitly set vulnerability discovered by ? in WordPress Npm fast-jwt versions = 6.3.0...
fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion
Summary The fix for CVE-2026-34950 CVSS 9.1, released in v6.2.0 is incomplete. It adds key.trim to the PEM-detection path in src/crypto.js, but String.prototype.trim only strips characters classified as whitespace by the ECMAScript specification. The subsequent ^-anchored regex /^-----BEGIN?: RSA...
NPM: fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion
NPM: fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion vulnerability discovered by ? in WordPress Npm fast-jwt versions = 6.2.0, = 6.2.4...
GHSA-WW5H-9M49-7XX4 fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion
Summary The fix for CVE-2026-34950 CVSS 9.1, released in v6.2.0 is incomplete. It adds key.trim to the PEM-detection path in src/crypto.js, but String.prototype.trim only strips characters classified as whitespace by the ECMAScript specification. The subsequent ^-anchored regex /^-----BEGIN?: RSA...
GHSA-687G-22H4-J4W4 fast-jwt clockTolerance: Infinity silently bypasses both exp and nbf validation (and persists in the verifier cache)
Summary createVerifier clockTolerance: Infinity silently bypasses both exp expiry AND nbf not-before validation. Any expired or not-yet-active token is accepted as valid. The same primitive also corrupts the verifier's internal cache so cached entries inherit infinite validity — they remain valid...
NPM: fast-jwt clockTolerance: Infinity silently bypasses both exp and nbf validation (and persists in the verifier cache)
NPM: fast-jwt clockTolerance: Infinity silently bypasses both exp and nbf validation and persists in the verifier cache vulnerability discovered by ? in WordPress Npm fast-jwt versions = 6.2.4...