### [CVE-2016-10555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10555) ![](https://img.shields.io/static/v1?label=Product&message=jwt-simple%20node%20module&color=blue) ![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue) ![](https://img.shields.io/static/v1?label=Vulnerability&message=Improper%20Input%20Validation%20(CWE-20)&color=brighgreen) ### Description 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. ### POC #### Reference No PoCs from references. #### Github - https://github.com/ARPSyndicate/cvemon - https://github.com/Beijaflore-Security-LAB/JWTExploit - https://github.com/CircuitSoul/poc-cve-2016-10555 - https://github.com/FroydCod3r/poc-cve-2016-10555 - https://github.com/Nucleware/powershell-jwt - https://github.com/The-Cracker-Technology/jwt_tool - https://github.com/crpytoscooby/resourses_web - https://github.com/d3ck9/HTB-Under-Construction - https://github.com/d7cky/HTB-Under-Construction - https://github.com/mishmashclone/ticarpi-jwt_tool - https://github.com/mxcezl/JWT-SecLabs - https://github.com/puckiestyle/jwt_tool - https://github.com/scent2d/PoC-CVE-2016-10555 - https://github.com/thepcn3rd/jwtToken-CVE-2016-10555 - https://github.com/ticarpi/jwt_tool - https://github.com/zhangziyang301/jwt_tool