Access Restriction Bypass The advisory has been revoked - it doesn't affect any version of package pyjwt  (opens in a new tab)


Threat Intelligence

EPSS
1.8% (78th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Access Restriction Bypass vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-PYTHON-PYJWT-40753
  • published4 Dec 2017
  • disclosed22 Jun 2017
  • creditUnknown

Introduced: 22 Jun 2017

CVE-2017-11424  (opens in a new tab)
CWE-284  (opens in a new tab)

How to fix?

Upgrade pyjwt to version 1.5.1 or higher.

Overview

Affected versions of pyjwt are vulnerable to Access Restriction Bypass.

In PyJWT 1.5.0 and below the invalid_strings check in HMACAlgorithm.prepare_key does not account for all PEM encoded public keys. Specifically, the PKCS1 PEM encoded format would be allowed because it is prefaced with the string -----BEGIN RSA PUBLIC KEY----- which is not accounted for. This enables symmetric/asymmetric key confusion attacks against users using the PKCS1 PEM encoded public keys, which would allow an attacker to craft JWTs from scratch.