CVE-2026-48522 Vulnerability Analysis & Exploit Details

CVE-2026-48522
Vulnerability Scoring

4.2
/10
Medium Risk

The vulnerability CVE-2026-48522 could compromise system integrity but typically requires user interaction to be exploited.

Attack Complexity Details

  • Attack Complexity: High
    Exploits require significant effort and special conditions.
  • Attack Vector: Network
    Vulnerability is exploitable over a network without physical access.
  • Privileges Required: None
    No privileges are required for exploitation.
  • Scope: Unchanged
    Exploit remains within the originally vulnerable component.
  • User Interaction: Required
    User interaction is necessary for successful exploitation.

CVE-2026-48522 Details

Status: Modified

Last updated: 🕔 02 Jun 2026, 17:16 UTC
Originally published on: 🕓 28 May 2026, 16:16 UTC

Time between publication and last update: 5 days

CVSS Release: version 3

CVSS3 Source

security-advisories@github.com

CVSS3 Type

Secondary

CVSS3 Vector

CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N

CVE-2026-48522 Vulnerability Summary

CVE-2026-48522: PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient passes its uri argument directly to urllib.request.urlopen() which uses Python stdlib's default OpenerDirector registering HTTPHandler, HTTPSHandler, FTPHandler, FileHandler, and DataHandler. There is currently no documented option to restrict which schemes PyJWKClient will fetch. If an application's jku URL ingestion path accepts attacker-influenced URLs (e.g., from JWT header, configuration file, OAuth flow parameter), the attacker can cause PyJWKClient to read arbitrary local files via file:// (SSRF on local filesystem), cause PyJWKClient to attempt FTP / data-URI fetches (broader SSRF surface), or forge tokens that PyJWT verifies as valid. The library does not directly return non-HTTP(S) URI contents to the attacker; the chained "plant a JWKS to forge tokens" scenario described in the original report requires additional application-layer flaws (attacker write access to a filesystem path, untrusted jku derivation) that this fix does not address. This vulnerability is fixed in 2.13.0.

Assessing the Risk of CVE-2026-48522

Access Complexity Graph

The exploitability of CVE-2026-48522 depends on two key factors: attack complexity (the level of effort required to execute an exploit) and privileges required (the access level an attacker needs).

Exploitability Analysis for CVE-2026-48522

CVE-2026-48522 presents a challenge to exploit due to its high attack complexity, but the absence of privilege requirements still makes it a viable target for skilled attackers. A thorough security review is advised.

Understanding AC and PR

A lower complexity and fewer privilege requirements make exploitation easier. Security teams should evaluate these aspects to determine the urgency of mitigation strategies, such as patch management and access control policies.

Attack Complexity (AC) measures the difficulty in executing an exploit. A high AC means that specific conditions must be met, making an attack more challenging, while a low AC means the vulnerability can be exploited with minimal effort.

Privileges Required (PR) determine the level of system access necessary for an attack. Vulnerabilities requiring no privileges are more accessible to attackers, whereas high privilege requirements limit exploitation to authorized users with elevated access.

CVSS Score Breakdown Chart

Above is the CVSS Sub-score Breakdown for CVE-2026-48522, illustrating how Base, Impact, and Exploitability factors combine to form the overall severity rating. A higher sub-score typically indicates a more severe or easier-to-exploit vulnerability.

CIA Impact Analysis

Below is the Impact Analysis for CVE-2026-48522, showing how Confidentiality, Integrity, and Availability might be affected if the vulnerability is exploited. Higher values usually signal greater potential damage.

  • Confidentiality: Low
    CVE-2026-48522 could lead to minor leaks of non-critical information without major privacy breaches.
  • Integrity: Low
    Exploiting CVE-2026-48522 may cause minor changes to data without severely impacting its accuracy.
  • Availability: None
    CVE-2026-48522 does not impact system availability.

CVE-2026-48522 References

External References

CWE Common Weakness Enumeration

CWE-918

CAPEC Common Attack Pattern Enumeration and Classification

  • Server Side Request Forgery CAPEC-664 An adversary exploits improper input validation by submitting maliciously crafted input to a target application running on a server, with the goal of forcing the server to make a request either to itself, to web services running in the server’s internal network, or to external third parties. If successful, the adversary’s request will be made with the server’s privilege level, bypassing its authentication controls. This ultimately allows the adversary to access sensitive data, execute commands on the server’s network, and make external requests with the stolen identity of the server. Server Side Request Forgery attacks differ from Cross Site Request Forgery attacks in that they target the server itself, whereas CSRF attacks exploit an insecure user authentication mechanism to perform unauthorized actions on the user's behalf.

Vulnerable Configurations

  • cpe:2.3:a:pyjwt_project:pyjwt:0.1.6:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.1.6:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.1.9:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.1.9:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.2.2:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.2.2:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.2.3:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.2.3:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.3.2:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.3.2:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.4.1:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.4.1:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.4.2:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.4.2:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:0.4.3:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:0.4.3:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.0.1:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.0.1:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.4.1:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.4.1:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.4.2:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.4.2:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.5.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.5.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.5.1:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.5.1:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.5.2:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.5.2:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.5.3:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.5.3:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.6.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.6.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.6.1:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.6.1:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.6.3:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.6.3:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.6.4:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.6.4:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.7.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.7.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:1.7.1:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:1.7.1:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.0.1:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.0.1:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.5.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.5.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.6.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.6.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.7.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.7.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.8.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.8.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.9.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.9.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.10.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.10.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.10.1:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.10.1:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.11.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.11.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.12.0:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.12.0:*:*:*:*:*:*:*
  • cpe:2.3:a:pyjwt_project:pyjwt:2.12.1:*:*:*:*:*:*:*
    cpe:2.3:a:pyjwt_project:pyjwt:2.12.1:*:*:*:*:*:*:*

Protect Your Infrastructure against CVE-2026-48522: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Other 5 Recently Published CVEs Vulnerabilities

  • CVE-2026-7640 – The WP Customer Area plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'type' attribute of the `customer-area-protected-con...
  • CVE-2026-15625 – A vulnerability was found in nextlevelbuilder GoClaw 3.11.3. Affected by this issue is the function ExecApprovalManager.CheckCommand of the file in...
  • CVE-2026-15624 – A vulnerability has been found in nextlevelbuilder GoClaw 3.13.3-beta.3. Affected by this vulnerability is the function bytePlusDownloadVideo of th...
  • CVE-2026-15622 – A flaw has been found in poco-ai poco-claw up to 0.5.4. Affected is the function get_workspace_file of the file executor_manager/app/api/v1/workspa...
  • CVE-2026-11802 – The FoodBook Lite - Online Food Ordering System plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 1...