Since "algorithm" isn't enforced in jwt.decode()in jwt-simple 0.3.0 and earlier, a malicious user could choose what algorithm is sent sent to the server. If the server is expecting RSA but is sent HMAC-SHA with RSA's public key, the server will think the public key is actually an HMAC private key. This could be used to forge any data an attacker wants.
The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
Weaknesses in this category are related to the design and implementation of data confidentiality and integrity. Frequently these deal with the use of encoding techniques, encryption libraries, and hashing algorithms. The weaknesses in this category could lead to a degradation of the quality data if they are not addressed.
Link | Tags |
---|---|
https://nodesecurity.io/advisories/87 | third party advisory |
https://github.com/hokaccha/node-jwt-simple/pull/14 | third party advisory issue tracking |
https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/ | third party advisory broken link |
https://github.com/hokaccha/node-jwt-simple/pull/16 | third party advisory issue tracking |