{"id":"CVE-2026-107720","title":"fast-jwt provides fast JSON Web Token (JWT) implementation","summary":"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 prepar…","severity":"high","cvss":7.4,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","cwe":["CWE-20","CWE-347"],"vendor":"fast-jwt","product":"fast-jwt","affected":["fast-jwt <= 6.3.0"],"patched":["fast-jwt 6.3.1"],"published":"2026-10-08","updated":"2026-10-09","sourceUpdated":"2026-10-09T15:17:08.947","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-107720","references":[{"url":"https://github.com/nearform/fast-jwt/commit/e22a151e83bf6d5e54e281216982d204d5665534","label":"security-advisories@github.com"},{"url":"https://github.com/nearform/fast-jwt/pull/649","label":"security-advisories@github.com"},{"url":"https://github.com/nearform/fast-jwt/releases/tag/v6.3.1","label":"security-advisories@github.com"},{"url":"https://github.com/nearform/fast-jwt/security/advisories/GHSA-8wpc-h4q6-8fxv","label":"security-advisories@github.com"},{"url":"https://github.com/nearform/fast-jwt/security/advisories/GHSA-8wpc-h4q6-8fxv","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://github.com/advisories/GHSA-8wpc-h4q6-8fxv"}],"tags":["nvd","ghsa","npm","cve.org","exploit-available"],"epss":0.00324,"epssPercentile":0.25278,"aliases":["GHSA-8wpc-h4q6-8fxv"],"ecosystem":"npm","ingestedAt":"2026-10-08T22:11:53.872Z","exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"total","timestamp":"2026-10-09T14:31:56.862139Z"},"slug":"CVE-2026-107720","body":"## Overview\n\nfast-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 false, and the empty signature avoids the verifySignature gate. An attacker can therefore submit a token containing arbitrary claims without possessing a signing key, resulting in authentication or authorization bypass. Claim validators still run, and non-empty keys, an empty key without algorithms, and the async key resolver path do not have this behavior. This issue is fixed in version 6.3.1.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-107720)\n\nAffected packages:\n\n- `fast-jwt <= 6.3.0`\n\nPatched in:\n\n- `fast-jwt 6.3.1`\n\nSource: https://github.com/advisories/GHSA-8wpc-h4q6-8fxv","depth":"midnight","depthScore":53,"depthScoreParts":{"impact":40.7,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":220572,"id":"CVE-2026-107720","ts":1792022798112,"field":"exploit_available","old":"false","new":"true"}]}