Description
python-jwt is a module for generating and verifying JSON Web Tokens. Versions prior to 3.3.4 are subject to Authentication Bypass by Spoofing, resulting in identity spoofing, session hijacking or authentication bypass. An attacker who obtains a JWT can arbitrarily forge its contents without knowing the secret key. Depending on the application, this may for example enable the attacker to spoof other user's identities, hijack their sessions, or bypass authentication. Users should upgrade to version 3.3.4. There are no known workarounds.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| davedoesdev | python-jwt | < 3.3.4 | — |
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.
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 2 (CBL-Mariner) | python-jwt | 2.4.0-2 | — |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
GitHub 3 repositories
-
user0x1337/CVE-2022-39227 ★ 22 · Jun 7, 2023
CVE-2022-39227 : Proof of Concept
-
melikesraoz/cve-2022-39227-jwt-auth-bypass-demo ★ 1 · Apr 27, 2026
-
NoSpaceAvailable/CVE-2022-39227 ★ 0 · Mar 28, 2024
A working POC found while doing a HTB challenge. Original: https://github.com/user0x1337/CVE-2022-39227
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | python-jwt | < 3.3.4 | 3.3.4 | GHSA-5p8v-58qm-c7fp |
| PyPI | python-jwt | >= 3.0.0, < 3.3.4 | 3.3.4 | PYSEC-2022-259 |
References
- https://github.com/davedoesdev/python-jwt/security/advisories/GHSA-5p8v-58qm-c7fp
- https://github.com/davedoesdev/python-jwt/commit/88ad9e67c53aa5f7c43ec4aa52ed34b7930068c9
- https://github.com/pypa/advisory-database/blob/main/vulns/python-jwt/PYSEC-2022-259.yaml
- https://www.vicarius.io/vsociety/posts/authentication-bypass-in-python-jwt