name | severity | cvss-score | cvss-vector | cwe-id | cwe-name | compliance | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JWT algorithm confusion |
high |
7.5 |
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
CWE-345 |
Insufficient Verification of Data Authenticity |
|
The server uses public/private key signatures to protect the JWTs. But it also accepts JWTs signed with HMAC. By changing the signing algorithm in your JWTs to HMAC and using the HTTPS certificate as secret we created a JWT accepted by your server. If the JWT is used to control access to the application, an attacker could take advantage of this vulnerability to forge a token and impersonate other users or even elevate privileges.
{% tabs jwt-algorithm-confusion %} {% tab jwt-algorithm-confusion generic %} To fix this issue, you should only have public/private key algorithms in the list of allowed algorithms. {% endtab %}
{% endtabs %}