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.
Remediation
References
https://github.com/auth0/node-jsonwebtoken/commit/e1fa9dcc12054a8681db4e6373da1b30cf7016e3
https://github.com/auth0/node-jsonwebtoken/security/advisories/GHSA-qwph-4952-7xr6
https://security.netapp.com/advisory/ntap-20240621-0007/
Related Vulnerabilities
CVE-2023-38691 Vulnerability in npm package matrix-appservice-bridge
CVE-2021-21119 Vulnerability in maven package org.webjars.npm:electron
CVE-2022-41935 Vulnerability in maven package org.xwiki.platform:xwiki-platform-livetable-ui
CVE-2020-15119 Vulnerability in npm package auth0-lock
CVE-2023-40813 Vulnerability in maven package org.opencrx:opencrx-core-models