6.5med

CVE-2016-10555

Forgeable Public/Private Tokens in jwt-simple

Also known as GHSA-vgrx-w6rg-8fqf

Published 8 y ago · modified 4 mo ago · JSON

CVSS
6.5
v3.0 · NVD
CISA KEV
No
not known exploited
EPSS
4.8%
percentile 92%
Public exploits
0
none known

Summary

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.

Exploit prediction (EPSS)

4.82% probability of exploitation in the next 30 days, higher than 92% of all scored CVEs.

CVSS scores

Assigned byVersionScoreVector
NVD3.06.5CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
NVD2.04.0AV:N/AC:L/Au:S/C:N/I:P/A:N

Affected packages

EcosystemPackageAffectedFixed in
npmjwt-simple
<0.3.1
0.3.1

Affected products

  • HackerOne jwt-simple node module

Classification

Weakness

References

  • nodesecurity.io /advisories/87 · x_refsource_MISC, x_transferred
  • github.com /hokaccha/node-jwt-simple/pull/14 · x_refsource_MISC, x_transferred
  • auth0.com /blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/ · x_refsource_MISC, x_transferred
  • github.com /hokaccha/node-jwt-simple/pull/16 · x_refsource_MISC, x_transferred
  • nvd.nist.gov /vuln/detail/CVE-2016-10555 · advisory
  • github.com /hokaccha/node-jwt-simple/commit/957957cfa44474049b4603b293569588ee9ffd97 · web
  • auth0.com /blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries · web
  • npmjs.com /advisories/87 · web

Sources

vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.