CVE catalog

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 register

[CVE catalog]

Severity
High · CVSS 7.4CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Published
Source
[NVD] · [CVE record]
EPSS
0.22% · Oct 25, 2026

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.

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debianpyjwtsid2.15.1-1fixed
Debianpyjwtforky2.15.1-1fixed
Debianpyjwttrixie2.10.1-2+deb13u1vulnerable
Debianpyjwttrixie-security2.10.1-2+deb13u1vulnerable
Debianpyjwtbookworm2.6.0-1+deb12u1vulnerable
Debianpyjwtbookworm-security2.6.0-1+deb12u1vulnerable
CpepyjwtNot reportedNot reportedvulnerable
CpepyjwtNot reported2.13.0fixed
PyPIpyjwtNot reported2.13.0fixed
Ubuntupyjwtnoble2.7.0-1ubuntu0.2fixed
Ubuntupython3-jwtnoble2.7.0-1ubuntu0.2fixed
Ubuntupyjwtpro1.7.0-2vulnerable
Ubuntupyjwtpro1.7.1-1vulnerable
Ubuntupyjwtpro1.7.1-2ubuntu1vulnerable
Ubuntupyjwtpro1.7.1-2ubuntu2vulnerable
Ubuntupyjwtpro1.7.1-2ubuntu2.1vulnerable
Ubuntupyjwtpro1.7.1-2ubuntu2.1+esm1vulnerable
Ubuntupyjwtpro1.7.1-2ubuntu2.1+esm2fixed
Ubuntupyjwt22.041.7.1-2ubuntu2vulnerable
Ubuntupyjwt22.042.1.0-1vulnerable
Ubuntupyjwt22.042.3.0-1vulnerable
Ubuntupyjwt22.042.3.0-1ubuntu0.1vulnerable
Ubuntupyjwt22.042.3.0-1ubuntu0.2vulnerable
Ubuntupyjwt22.042.3.0-1ubuntu0.3vulnerable
Ubuntupyjwt22.042.3.0-1ubuntu0.4fixed
Ubuntupyjwt24.042.7.0-1vulnerable
Ubuntupyjwt24.042.7.0-1ubuntu0.1vulnerable
Ubuntupyjwt24.042.7.0-1ubuntu0.2fixed
Ubuntupyjwt26.042.10.1-2vulnerable
Ubuntupyjwt26.042.10.1-3vulnerable
Ubuntupyjwt26.042.10.1-3build1vulnerable
Ubuntupyjwt26.042.10.1-4vulnerable
Ubuntupyjwt26.042.10.1-4ubuntu1vulnerable
Ubuntupyjwt26.042.10.1-4ubuntu1.1fixed
Ubuntupyjwt22.041.7.1-2ubuntu2vulnerable
Ubuntupyjwt22.042.1.0-1vulnerable
Ubuntupyjwt22.042.3.0-1vulnerable
Ubuntupyjwt22.042.3.0-1ubuntu0.1vulnerable
Ubuntupyjwt22.042.3.0-1ubuntu0.2vulnerable
Ubuntupyjwt22.042.3.0-1ubuntu0.3vulnerable
Ubuntupyjwt22.042.3.0-1ubuntu0.4fixed
Ubuntupyjwt24.042.7.0-1vulnerable
Ubuntupyjwt24.042.7.0-1ubuntu0.1vulnerable
Ubuntupyjwt24.042.7.0-1ubuntu0.2fixed
Ubuntupyjwt25.102.10.1-2vulnerable
Ubuntupyjwt25.102.10.1-2ubuntu0.1vulnerable
Ubuntupyjwt26.042.10.1-2vulnerable
Ubuntupyjwt26.042.10.1-3vulnerable
Ubuntupyjwt26.042.10.1-3build1vulnerable
Ubuntupyjwt26.042.10.1-4vulnerable
Ubuntupyjwt26.042.10.1-4ubuntu1vulnerable
Ubuntupyjwt26.042.10.1-4ubuntu1.1fixed
Opensusepython-PyJWTleap 16.02.12.1-160000.2.1fixed
Susepython-PyJWTlinux micro 6.02.9.0-3.1fixed
Susepython-PyJWTlinux enterprise module for public cloud 15 sp42.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise module for python 3 15 sp72.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise high performance computing 15 sp4-espos2.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise high performance computing 15 sp4-ltss2.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise high performance computing 15 sp5-espos2.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise high performance computing 15 sp5-ltss2.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise server 15 sp4-ltss2.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise server 15 sp5-ltss2.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise server 15 sp6-ltss2.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise server for sap applications 15 sp42.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise server for sap applications 15 sp52.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise server for sap applications 15 sp62.8.0-150400.8.13.1fixed
Susepython-PyJWTlinux enterprise micro 5.52.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise module for basesystem 15 sp72.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise high performance computing 15 sp4-espos2.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise high performance computing 15 sp4-ltss2.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise high performance computing 15 sp5-espos2.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise high performance computing 15 sp5-ltss2.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise server 15 sp4-ltss2.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise server 15 sp5-ltss2.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise server 15 sp6-ltss2.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise server for sap applications 15 sp42.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise server for sap applications 15 sp52.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux enterprise server for sap applications 15 sp62.4.0-150200.3.14.1fixed
Susepython-PyJWTlinux micro 6.22.12.1-160000.2.1fixed
Susepython-PyJWTlinux enterprise server 16.02.12.1-160000.2.1fixed
Susepython-PyJWTlinux enterprise server for sap applications 16.02.12.1-160000.2.1fixed
Susepython-PyJWTlinux micro 6.12.12.1-slfo.1.1_2.1fixed
Opensusepython-PyJWTtumbleweed2.13.0-1.1fixed
CpepyjwtNot reported2.13.0fixed

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debianpyjwtsourcesid2.13.0-1not yet assignedNot reported[1138191]
Debianpyjwtsourceforky2.13.0-1not yet assignedNot reported[1138191]
Debianpyjwtsourcetrixie(unfixed)not yet assignedNot reported[1138191]
Debianpyjwtsourcebookworm(unfixed)not yet assignedNot reported[1138191]
CpepyjwtcpeNot reported2.13.0Not reportedNot reportedNot reported
PyPIpyjwtPyPINot reported2.13.0Not reportedGHSA-993G-76C3-P5M4Not reported
Ubuntupyjwtdebnoble2.7.0-1ubuntu0.2Not reportedNot reportedNot reported
Ubuntupython3-jwtdebnoble2.7.0-1ubuntu0.2Not reportedNot reportedNot reported
Ubuntupyjwtdebpro1.7.1-2ubuntu2.1+esm2Not reportedUSN-8823-1Not reported
Ubuntupyjwtdeb22.042.3.0-1ubuntu0.4Not reportedUSN-8823-1Not reported
Ubuntupyjwtdeb24.042.7.0-1ubuntu0.2Not reportedUSN-8823-1Not reported
Ubuntupyjwtdeb26.042.10.1-4ubuntu1.1Not reportedUSN-8823-1Not reported
Ubuntupyjwtdeb22.042.3.0-1ubuntu0.4Not reportedUBUNTU-CVE-2026-48522Not reported
Ubuntupyjwtdeb24.042.7.0-1ubuntu0.2Not reportedUBUNTU-CVE-2026-48522Not reported
Ubuntupyjwtdeb26.042.10.1-4ubuntu1.1Not reportedUBUNTU-CVE-2026-48522Not reported
Opensusepython-PyJWTrpmleap 16.02.12.1-160000.2.1Not reportedOPENSUSE-SU-2026:21095-1Not reported
Susepython-PyJWTrpmlinux micro 6.02.9.0-3.1Not reportedSUSE-SU-2026:22238-1Not reported
Susepython-PyJWTrpmlinux enterprise module for public cloud 15 sp42.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise module for python 3 15 sp72.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise high performance computing 15 sp4-espos2.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise high performance computing 15 sp4-ltss2.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise high performance computing 15 sp5-espos2.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise high performance computing 15 sp5-ltss2.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise server 15 sp4-ltss2.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise server 15 sp5-ltss2.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise server 15 sp6-ltss2.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise server for sap applications 15 sp42.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise server for sap applications 15 sp52.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise server for sap applications 15 sp62.8.0-150400.8.13.1Not reportedSUSE-SU-2026:2626-1Not reported
Susepython-PyJWTrpmlinux enterprise micro 5.52.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise module for basesystem 15 sp72.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise high performance computing 15 sp4-espos2.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise high performance computing 15 sp4-ltss2.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise high performance computing 15 sp5-espos2.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise high performance computing 15 sp5-ltss2.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise server 15 sp4-ltss2.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise server 15 sp5-ltss2.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise server 15 sp6-ltss2.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise server for sap applications 15 sp42.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise server for sap applications 15 sp52.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux enterprise server for sap applications 15 sp62.4.0-150200.3.14.1Not reportedSUSE-SU-2026:2627-1Not reported
Susepython-PyJWTrpmlinux micro 6.22.12.1-160000.2.1Not reportedSUSE-SU-2026:22220-1Not reported
Susepython-PyJWTrpmlinux enterprise server 16.02.12.1-160000.2.1Not reportedSUSE-SU-2026:22170-1Not reported
Susepython-PyJWTrpmlinux enterprise server for sap applications 16.02.12.1-160000.2.1Not reportedSUSE-SU-2026:22170-1Not reported
Susepython-PyJWTrpmlinux micro 6.12.12.1-slfo.1.1_2.1Not reportedSUSE-SU-2026:22138-1Not reported
Opensusepython-PyJWTrpmtumbleweed2.13.0-1.1Not reportedOPENSUSE-SU-2026:11024-1Not reported
CpepyjwtcpeNot reported2.13.0Not reportedNVD-CVE-2026-48522Not reported

[Debian bug #1138191]

Notes

[trixie] pyjwt: Minor issue [bookworm] pyjwt: Minor issue

OpenFactory catalog packages

[Debian 12 (Bookworm)]

  • [python3-jwt]Affected

    Source package: [pyjwt]

    Details (4)
    • 2.6.0-1+deb12u1 · all · bookworm

      Affected

      nvd · pyjwt · debian · bookworm; nvd · pyjwt · debian · 12

    • 2.6.0-1+deb12u1 · all · bookworm

      Affected

      nvd · pyjwt · debian · bookworm; nvd · pyjwt · debian · 12

    • 2.6.0-1+deb12u1 · all · bookworm-security

      Affected

      nvd · pyjwt · debian · bookworm; nvd · pyjwt · debian · 12

    • 2.6.0-1+deb12u1 · all · bookworm-security

      Affected

      nvd · pyjwt · debian · bookworm; nvd · pyjwt · debian · 12

[Debian 13 (Trixie)]

  • [python3-jwt]Affected

    Source package: [pyjwt]

    Details (4)
    • 2.10.1-2+deb13u1 · all · trixie

      Affected

      nvd · pyjwt · debian · 13

    • 2.10.1-2+deb13u1 · all · trixie

      Affected

      nvd · pyjwt · debian · 13

    • 2.10.1-2+deb13u1 · all · trixie-security

      Affected

      nvd · pyjwt · debian · 13

    • 2.10.1-2+deb13u1 · all · trixie-security

      Affected

      nvd · pyjwt · debian · 13

  • [python-jwt-doc]Affected

    Source package: [pyjwt]

    Details (4)
    • 2.10.1-2+deb13u1 · all · trixie

      Affected

      nvd · pyjwt · debian · 13

    • 2.10.1-2+deb13u1 · all · trixie

      Affected

      nvd · pyjwt · debian · 13

    • 2.10.1-2+deb13u1 · all · trixie-security

      Affected

      nvd · pyjwt · debian · 13

    • 2.10.1-2+deb13u1 · all · trixie-security

      Affected

      nvd · pyjwt · debian · 13

[openSUSE Tumbleweed]

  • Source package: [python-PyJWT]

    Details (1)
    • 2.13.0-1.2 · noarch · tumbleweed

      Unknown · Fixed: 2.13.0-1.1

      Version impact unknown

      nvd · python-PyJWT · opensuse · tumbleweed

  • Source package: [python-PyJWT]

    Details (1)
    • 2.13.0-1.2 · noarch · tumbleweed

      Unknown · Fixed: 2.13.0-1.1

      Version impact unknown

      nvd · python-PyJWT · opensuse · tumbleweed

Observed:

References