AVID-2026-R1038
Description
Key confusion through non-blocklisted public key formats in PyJWT (CVE-2022-29217)
Details
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.
Reason for inclusion in AVID: CVE-2022-29217 describes a vulnerability in PyJWT (a widely used Python library for JWT handling). PyJWT is a software dependency that can be part of AI service stacks (authentication/authorization in ML pipelines, deployments, APIs, etc.). The issue is a security vulnerability (CWE-327) with practical risk, and the report provides explicit remediation and references. As a dependency vulnerability in software commonly used to build/run AI systems, it qualifies as a general-purpose AI supply chain issue.
References
- NVD entry
- https://github.com/jpadilla/pyjwt/security/advisories/GHSA-ffqj-6fqr-9h24
- https://github.com/jpadilla/pyjwt/commit/9c528670c455b8d948aff95ed50e22940d1ad3fc
- https://github.com/jpadilla/pyjwt/releases/tag/2.4.0
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/6HIYEYZRQEP6QTHT3EHH3RGFYJIHIMAO/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/5PK7IQCBVNLYJEFTPHBBPFP72H4WUFNX/
Affected or Relevant Artifacts
- Developer: jpadilla
- Deployer: jpadilla
- Artifact Details:
| Type | Name |
|---|---|
| System | pyjwt |
Impact
AVID Taxonomy Categorization
- Risk domains: Security
- SEP subcategories: S0100: Software Vulnerability
- Lifecycle stages: L06: Deployment
CVSS
| Version | 3.1 |
| Vector String | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N |
| Base Score | 7.4 |
| Base Severity | 🔴 High |
| Attack Vector | NETWORK |
| Attack Complexity | 🔴 High |
| Privileges Required | NONE |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | 🔴 High |
| Integrity Impact | 🔴 High |
| Availability Impact | NONE |
CWE
| ID | Description |
|---|---|
| CWE-327 | CWE-327: Use of a Broken or Risky Cryptographic Algorithm |
Other information
- Report Type: Advisory
- Credits:
- Date Reported: 2022-05-24
- Version: 0.3.3
- AVID Entry