Skip to content
OpenAdvisories

Description

PyJWT is a Python implementation of JSON Web Token standards. From 2.0.0a1 until 2.15.0, PyJWT PyJWKClient.get_signing_key_from_jwt is affected because payload parser catches ValueError but not RecursionError. This occurs when an attacker-controlled recursively nested payload reaches json.loads. As a result, documented PyJWT exception handling does not contain the failure. Consequently, an unauthenticated request can raise an exception that may produce an HTTP 500 response. The advisory-defined affected implementation also includes jwt/api_jwt.py, verify_signature=False. This issue is fixed in version 2.15.0.

Affected products

VendorProductAffectedFixed
jpadilla pyjwt >= 2.0.0a1, < 2.15.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 pyjwt 2.15.0-1 —
Debian 13 pyjwt No fix yet —
Debian 12 pyjwt No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 pyjwt 2.13.0-1ubuntu1.1 USN-8934-1
Ubuntu 26.04 LTS pyjwt 2.10.1-4ubuntu1.3 USN-8934-1
Ubuntu 24.04 LTS pyjwt 2.7.0-1ubuntu0.4 USN-8934-1
Ubuntu 22.04 LTS pyjwt 2.3.0-1ubuntu0.6 USN-8934-1
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 20.04 LTS pyjwt 1.7.1-2ubuntu2.1+esm4 USN-8934-1
Ubuntu Pro 18.04 LTS pyjwt 1.5.3+ds1-1ubuntu0.1+esm4 USN-8934-1
Ubuntu Pro 16.04 LTS pyjwt 1.3.0-1ubuntu0.1+esm4 USN-8934-1
ReleasePackageFixed inAdvisory
SLES 15 SP6 python-PyJWT 2.8.0-150400.8.20.1 SUSE-SU-2026:5064-1
SLES 15 SP5 python-PyJWT 2.8.0-150400.8.20.1 SUSE-SU-2026:5064-1
SLES 15 SP4 python-PyJWT 2.8.0-150400.8.20.1 SUSE-SU-2026:5064-1
SLES 3 python-PyJWT 2.8.0-150400.8.20.1 SUSE-SU-2026:5064-1
Show 10 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 python-PyJWT 2.12.1-160000.3.1 SUSE-SU-2026:24219-1
SLES for SAP 15 SP6 python-PyJWT 2.8.0-150400.8.20.1 SUSE-SU-2026:5064-1
SLES for SAP 15 SP5 python-PyJWT 2.8.0-150400.8.20.1 SUSE-SU-2026:5064-1
SLES for SAP 15 SP4 python-PyJWT 2.8.0-150400.8.20.1 SUSE-SU-2026:5064-1
SLES 16.0 python-PyJWT 2.12.1-160000.3.1 SUSE-SU-2026:24219-1
SLE Micro 6.2 python-PyJWT 2.12.1-160000.3.1 SUSE-SU-2026:24126-1
SLE Micro 6.1 python-PyJWT 2.12.1-slfo.1.1_3.1 SUSE-SU-2026:24377-1
SLE Micro 6.0 python-PyJWT 2.9.0-159998.1.1 SUSE-SU-2026:24134-1
SLE HPC 15 SP5 python-PyJWT 2.8.0-150400.8.20.1 SUSE-SU-2026:5064-1
SLE HPC 15 SP4 python-PyJWT 2.8.0-150400.8.20.1 SUSE-SU-2026:5064-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed python-PyJWT 2.15.1-1.1 openSUSE-SU-2026:11994-1
openSUSE Leap 16.0 python-PyJWT 2.12.1-160000.3.1 openSUSE-SU-2026:22074-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 python3-jwt +1 2.4.0-1.amzn2023.0.6 ALAS2023-2026-3298

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 python-jwt 2.15.1-1 —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling datadog-agent-7.77-core-integrations +3 No fix yet —
Wolfi rolling datadog-agent-7.79-core-integrations 7.79.2-r21 —
Wolfi rolling ggshield 1.55.0-r2 —
Wolfi rolling kserve-storage-controller 0.21.0-r2 —
Wolfi rolling open-webui 0.11.4-r3 —
Wolfi rolling semgrep 1.178.0-r11 —
Wolfi rolling superset-6.0 6.0.0-r18 —
Wolfi rolling superset-6.1 6.1.0-r11 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI pyjwt >= 2.0.0a1, < 2.15.0 2.15.0 GHSA-42vr-xj54-vc7v

Advisories 9

References