{"id":"EUVD-2026-95347","revision":"5b97b4c4a89a4b3b81199ed9c5a404b8","records":[{"revision":"5b97b4c4a89a4b3b81199ed9c5a404b8","observedAt":"2026-11-05T05:06:58.673+00:00","statement":{"source":"euvd","id":"EUVD-2026-95347","aliases":["CVE-2026-107722","GHSA-ww5h-9m49-7xx4"],"title":"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, performDetec…","description":"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-anchored, so comments, control characters, zero-width characters, or wrapper text can prevent PEM detection and reach the HMAC fallback. An attacker who knows the public key bytes can sign arbitrary HS256 claims with that public material when HS256 is inferred or allowed, resulting in authentication or authorization bypass. An asymmetric-only algorithm allowlist prevents the attack. This issue is fixed in version 6.3.0.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","score":9.8,"severity":null}],"references":["https://github.com/nearform/fast-jwt/security/advisories/GHSA-ww5h-9m49-7xx4","https://github.com/nearform/fast-jwt/pull/632","https://github.com/nearform/fast-jwt/commit/d96bbc6c5336055a6dbfa318fdbab01197264cfa","https://github.com/nearform/fast-jwt/releases/tag/v6.3.0"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-95347","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Oct 8, 2026, 9:49:55 PM","dateUpdated":"Oct 13, 2026, 4:26:25 PM"},"relatedAdvisories":[],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2026-95347","identifiers":["EUVD-2026-95347","CVE-2026-107722","GHSA-ww5h-9m49-7xx4"]},"retained":false,"historicalAffected":[]}],"coverage":[]}