GitHub Advisoryadvisory · npm
GHSA-vgrx-w6rg-8fqf Forgeable Public/Private Tokens in jwt-simple
CRITICAL
Official page ↗
- Aliases
- CVE-2016-10555
- Ecosystem
- npm
- Packages
- jwt-simple
- Severity
- Critical
- Weaknesses
- CWE-20
- Reviewed
- 2020-06-16
Affected packages
• npm jwt-simple: < 0.3.1 → fixed in 0.3.1
Description
Affected versions of the `jwt-simple` package allow users to select what algorithm the server will use to verify a provided JWT. A malicious actor can use this behaviour to arbitrarily modify the contents of a JWT while still passing verification. For the common use case of the JWT, the end result is a complete authentication bypass with minimal effort.
Recommendation
Update to version 0.3.1 or later.
Additionally, be sure to always specify an algorithm in calls to `.decode()`.
Related
Alias · CVE (1)
- CVE-2016-10555 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… vulnerability
Weakness · CWE (1)
- CWE-20 Improper Input Validation weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2016-10555 advisory
- https://github.com/hokaccha/node-jwt-simple/pull/14 web
- https://github.com/hokaccha/node-jwt-simple/pull/16 web
- https://github.com/hokaccha/node-jwt-simple/commit/957957cfa44474049b4603b293569588ee9ffd97 web
- https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries web
- https://www.npmjs.com/advisories/87 web