Python : Weak JWT signature algorithm
Classification
Overview
The application uses a weak signature algorithm.
Obsolete signature algorithms do not provide sufficient protection for applications that work with sensitive data. The security of a signature algorithm is determined by the estimated time and resources required to obtain the key used to generate the signature. The development of new attack methods and the increase in computing power of computers lead to the obsolescence of algorithms previously considered secure. For example, HS256 is vulnerable to a brute-force attack with a medium key length.
Tested implementations of standardized signature algorithms with sufficient key length should be used to protect valuable data.
Sensitive Data Exposure vulnerabilities rank third in the OWASP Top 10 2017 web application vulnerability ranking.
References
- OWASP Top 10 2013-A6-Sensitive Data Exposure
- OWASP Top 10 2017-A3-Sensitive Data Exposure
- CWE-327
- CWE CATEGORY: OWASP Top Ten 2017 Category A6 - Security Misconfiguration
- JWT SECURITY. DR. PHILIPPE DE RYCK
- RFC8725: JSON Web Token Best Current Practices
- JSON Object Signing and Encryption (JOSE)
- Brute Forcing HS256 is Possible: The Importance of Using Strong Keys in Signing JWTs
- Hacking JWT Tokens: Bruteforcing Weak Signing Key (JWT-Cracker)
