// For flags

CVE-2022-29217

Key confusion through non-blocklisted public key formats in PyJWT

Severity Score

7.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

PyJWT is a Python implementation of RFC 7519. PyJWT supports multiple different JWT signing algorithms. With JWT, an attacker submitting the JWT token can choose the used signing algorithm. The PyJWT library requires that the application chooses what algorithms are supported. The application can specify `jwt.algorithms.get_default_algorithms()` to get support for all algorithms, or specify a single algorithm. The issue is not that big as `algorithms=jwt.algorithms.get_default_algorithms()` has to be used. Users should upgrade to v2.4.0 to receive a patch for this issue. As a workaround, always be explicit with the algorithms that are accepted and expected when decoding.

PyJWT es una implementación en Python del RFC 7519. PyJWT soporta múltiples algoritmos de firma JWT diferentes. Con JWT, un atacante que envía el token JWT puede elegir el algoritmo de firma usado. La biblioteca PyJWT requiere que la aplicación elija qué algoritmos son soportados. La aplicación puede especificar "jwt.algorithms.get_default_algorithms()" para conseguir soporte para todos los algoritmos, o especificar un único algoritmo. El problema no es tan grande ya que debe ser usado "algorithms=jwt.algorithms.get_default_algorithms()". Los usuarios deben actualizar a la versión 2.4.0 para recibir un parche para este problema. Como mitigación, sea siempre explícito con los algoritmos que son aceptados y son esperados cuando es decodificado

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None
Attack Vector
Network
Attack Complexity
Low
Authentication
None
Confidentiality
None
Integrity
Partial
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2022-04-13 CVE Reserved
  • 2022-05-24 CVE Published
  • 2023-12-15 EPSS Updated
  • 2024-08-19 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-327: Use of a Broken or Risky Cryptographic Algorithm
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Pyjwt Project
Search vendor "Pyjwt Project"
Pyjwt
Search vendor "Pyjwt Project" for product "Pyjwt"
>= 1.5.0 < 2.4.0
Search vendor "Pyjwt Project" for product "Pyjwt" and version " >= 1.5.0 < 2.4.0"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
35
Search vendor "Fedoraproject" for product "Fedora" and version "35"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
36
Search vendor "Fedoraproject" for product "Fedora" and version "36"
-
Affected