Automated Threat Modeling

PyJWT v2.10.1 CVE-2025-45768: Brief Summary of Weak Encryption Vulnerability

CVE-2025-45768 is a weak encryption vulnerability in PyJWT v2.10.1. This post covers the affected version, what is known about the technical details, and the project's security history, based on available public sources.

CVE Analysis

7 min read

ZeroPath CVE Analysis
ZeroPath CVE Analysis

2025-07-31

PyJWT v2.10.1 CVE-2025-45768: Brief Summary of Weak Encryption Vulnerability
Experimental AI-Generated Content

This CVE analysis is an experimental publication that is completely AI-generated. The content may contain errors or inaccuracies and is subject to change as more information becomes available. We are continuously refining our process.

If you have feedback, questions, or notice any errors, please reach out to us.

[email protected]

Introduction

JWTs are a core part of authentication and authorization in modern Python web applications. When a widely used library like PyJWT has a cryptographic flaw, the risk can extend to thousands of production systems. CVE-2025-45768 describes a weak encryption vulnerability in PyJWT v2.10.1, and it raises concerns about the integrity and confidentiality of JWT-based authentication flows.

About PyJWT: PyJWT is the most popular Python implementation of the JSON Web Token standard (RFC 7519). José Padilla and the open source community maintain it, and many frameworks and libraries in the Python ecosystem depend on it.

Technical information

CVE-2025-45768 is classified as a weak encryption vulnerability in PyJWT v2.10.1 and tracked as CWE-311 (Missing Encryption of Sensitive Data). PyJWT supports several signing algorithms, including HMAC (HS256, HS384, HS512), RSA (RS256, RS384, RS512, PS256, PS384, PS512), ECDSA (ES256, ES256K, ES384, ES512), and EdDSA. The vulnerability may affect how PyJWT handles cryptographic operations or key management, but no public code snippet or root cause analysis is available as of this writing.

Earlier PyJWT vulnerabilities include algorithm confusion (CVE-2022-29217) and improper claim validation (CVE-2024-53861). Those issues typically came down to insecure handling of the alg header or insufficient validation of JWT claims. The details of CVE-2025-45768 are not yet public, so it is unclear whether this flaw is in algorithm selection, key handling, or some other cryptographic process.

No exploit details or proof of concept are available for this CVE.

Affected systems and versions

  • PyJWT version 2.10.1 is affected by CVE-2025-45768.
  • Public sources do not explicitly name any other version as vulnerable.
  • No configuration-specific details are available.

Vendor security history

Earlier notable PyJWT vulnerabilities include:

  • CVE-2022-29217: Algorithm confusion in versions 1.5.0 through 2.3.0, which allowed signature bypass under certain conditions.
  • CVE-2024-53861: An issuer claim validation bug in version 2.10.0, fixed in 2.10.1.

The maintainers have generally responded quickly to reported issues, but cryptographic implementation flaws keep recurring in the project. PyJWT relies on the cryptography package for its crypto operations, and its documentation stresses secure usage patterns, such as explicitly specifying which algorithms to allow.

References

Detect & fix
what others miss

Works with
  • GitHub
  • GitLab
  • Bitbucket
  • Azure DevOps Services
  • Gerrit
  • CVS
  • Jira
  • Linear
  • Slack
  • Security Compass
Explore integrations
Security magnifying glass visualization