Forgeable public/private tokens

Affecting jwt-simple package, versions <0.3.0

Do your applications use this vulnerable package? Test your applications

Overview

'jwt-simple' is a JSON Web Token encode and decode module. Affected versions of this package are vulnerable to an Authentication Bypass attack, due to the "algorithm" not being enforced. Attackers are given the opportunity to choose the algorithm sent to the server and generate signatures with arbitrary contents. The server expects an asymmetric key (RSA) but is sent a symmetric key (HMAC-SHA) with RSA's public key, so instead of going through a key validation process, the server will think the public key is actually an HMAC private key.

Remediation

Upgrade jwt-simple to version 0.3.0 or higher.

References

CVSS Score

4.2
medium severity
  • Attack Vector
    Network
  • Attack Complexity
    High
  • Privileges Required
    Low
  • User Interaction
    None
  • Scope
    Unchanged
  • Confidentiality
    Low
  • Integrity
    Low
  • Availability
    None
CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
Credit
Theofanis Katsimpas
CVE
CVE-2016-10555
CWE
CWE-310
Snyk ID
npm:jwt-simple:20160804
Disclosed
18 Aug, 2016
Published
31 Oct, 2016