### [CVE-2022-23540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23540) ![](https://img.shields.io/static/v1?label=Product&message=node-jsonwebtoken&color=blue) ![](https://img.shields.io/static/v1?label=Version&message=%3D%20%3C%3D%208.5.1%20&color=brighgreen) ![](https://img.shields.io/static/v1?label=Vulnerability&message=CWE-287%3A%20Improper%20Authentication&color=brighgreen) ### Description In versions `<=8.5.1` of `jsonwebtoken` library, lack of algorithm definition in the `jwt.verify()` function can lead to signature validation bypass due to defaulting to the `none` algorithm for signature verification. Users are affected if you do not specify algorithms in the `jwt.verify()` function. This issue has been fixed, please update to version 9.0.0 which removes the default support for the none algorithm in the `jwt.verify()` method. There will be no impact, if you update to version 9.0.0 and you don’t need to allow for the `none` algorithm. If you need 'none' algorithm, you have to explicitly specify that in `jwt.verify()` options. ### POC #### Reference - https://github.com/auth0/node-jsonwebtoken/commit/e1fa9dcc12054a8681db4e6373da1b30cf7016e3 #### Github - https://github.com/ARPSyndicate/cvemon - https://github.com/jsirichai/CVE-2022-23540-PoC - https://github.com/k0mi-tg/CVE-POC - https://github.com/manas3c/CVE-POC - https://github.com/nomi-sec/PoC-in-GitHub - https://github.com/whoforget/CVE-POC - https://github.com/youwizard/CVE-POC - https://github.com/zvigrinberg/exhort-service-readiness-experiment