fast-jwt treats raw public JWK JSON as an HMAC secret, enabling HS256 token forgery
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| nearform | fast-jwt | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Nearform | Fast-jwt |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-g3jj-5cmm-3hxx | fast-jwt treats raw public JWK JSON as an HMAC secret, enabling HS256 token forgery |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.282% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Nearform
Nearform fast-jwt |
|
| Vendors & Products |
Nearform
Nearform fast-jwt |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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, an attacker who knows the exact serialized public-key bytes can use those bytes as an HMAC key and create a token containing arbitrary claims that createVerifier accepts. Serialization ordering or whitespace differences can prevent exploitation, and applications using supported PEM keys with an asymmetric-only algorithm allowlist are not affected. This issue is fixed in version 6.3.0. | |
| Title | fast-jwt treats raw public JWK JSON as an HMAC secret, enabling HS256 token forgery | |
| Weaknesses | CWE-347 | |
| References |
| |
| Metrics |
cvssV3_1
|