Vulnerability Database · PyPI · Package report

pyjwt: vulnerability history, versions and safety

pyjwt is a package in the PyPI ecosystem. Vulert records 48 vulnerabilities for it across 96 releases, from Aug 2017 to Oct 2026. Each vulnerability names the versions it affects, the fixed version to move to, and a workaround where no fix has been published.

i
48 vulnerabilities recorded C1 H10 M11 L2 U24
i
3 with no fix published

No patched version yet — these are the ones to plan around.

See the unfixed vulnerabilities →
i
42 in the last 12 months

Most recent disclosure 22 Oct 2026.

See the disclosure history →
i
0 malicious-package vulnerabilities

No published version shipped hostile code.

Vulert verdict on pyjwt 2.15.1 i

Updated on 23 Oct 2026

Careful: 2.15.1 has 4 known vulnerabilities, and 3 have no fix yet. Use an earlier safe version, or the workaround listed for each one.

Package health score 60/100
  • Security Unfixed issues
  • Maintenance Sustainable
  • Popularity Key ecosystem project
  • Community Moderate

The current release has a vulnerability with no published fix, which caps this score.

What to do: Pin an earlier, unaffected release if you can, and apply the workaround each vulnerability lists until a fix is published. No fix yet: Vulert alerts you the moment one is published. Monitor it with Vulert →

  • Current release 2.15.1 — affected i
  • Vulnerabilities on record 48 over 9 years · 42 in the last year i
  • Latest disclosure 22 Oct 2026 i
  • Highest CVSS 9.1 i
  • With no published fix 3 i
  • Depended on by 48,186 packages i
  • Stars 5,717 i
  • OpenSSF scorecard 6/10 i
  • Last release this month i
  • Licence MIT i

Version list, release dates, licence and dependants published by PyPI, refreshed 23 Oct 2026. Licence information is not legal advice.

Concerned about your application's security?

Vulert continues monitoring your dependencies and alerts you when new vulnerabilities are disclosed. No installation and no source-code access required.

01 Versions

Which versions are affected

Every version Vulert tracks for pyjwt, newest first, with the vulnerabilities recorded against each one. A version showing none has no vulnerability in the Vulert database — open it for the full picture on that release.

i
Version Released Vulert vulnerabilities Licence Fix published Details
2.15.1 28 Sep 2026 M1 U3 MIT No Details →
2.15.0 23 Sep 2026 M1 U3 MIT No Details →
2.14.0 11 Sep 2026 M2 U2 MIT Yes Details →
2.13.0 21 May 2026 C1 H6 M8 U14 MIT No Details →
2.12.1 13 Mar 2026 C1 H4 M10 L1 U15 MIT No Details →
2.12.0 12 Mar 2026 C1 H4 M10 L1 U16 MIT No Details →
2.11.0 30 Jan 2026 C1 H5 M10 L1 U17 MIT No Details →
2.10.1 28 Nov 2024 C1 H5 M9 L1 U16 MIT No Details →
2.10.0 17 Nov 2024 C1 H5 M9 L2 U17 MIT No Details →
2.9.0 01 Aug 2024 C1 H5 M9 L1 U16 MIT No Details →
2.8.0 18 Jul 2023 C1 H5 M7 L1 U14 MIT No Details →
2.7.0 09 May 2023 C1 H5 M6 L1 U13 MIT No Details →
2.6.0 20 Oct 2022 C1 H5 M6 L1 U13 MIT No Details →
2.5.0 17 Sep 2022 C1 H5 M6 L1 U13 MIT No Details →
2.4.0 12 May 2022 C1 H5 M6 L1 U13 MIT No Details →
2.3.0 16 Oct 2021 C1 H5 M6 L1 U13 MIT No Details →
2.2.0 06 Oct 2021 C1 H5 M6 L1 U13 MIT No Details →
2.1.0 28 Apr 2021 C1 H5 M6 L1 U13 MIT No Details →
2.0.1 17 Jan 2021 C1 H5 M5 L1 U12 MIT No Details →
2.0.0 22 Dec 2020 C1 H5 M5 L1 U12 MIT No Details →
2.0.0a2 20 Dec 2020 C1 H5 M5 L1 U12 MIT No Details →
2.0.0a1 02 Nov 2020 C1 H5 M5 L1 U12 MIT No Details →
1.7.1 07 Dec 2018 C1 H5 M4 L1 U11 MIT No Details →
1.7.0 02 Dec 2018 C1 H5 M4 L1 U11 MIT No Details →
1.6.4 24 May 2018 C1 H5 M4 L1 U11 MIT No Details →
1.6.3 19 May 2018 C1 H5 M4 L1 U11 MIT No Details →
1.6.1 18 Mar 2018 C1 H5 M4 L1 U11 MIT No Details →
1.6.0 03 Mar 2018 C1 H5 M4 L1 U11 MIT No Details →
1.5.3 05 Sep 2017 C1 H5 M4 L1 U11 MIT No Details →
1.5.2 22 Jun 2017 C1 H5 M4 L1 U11 MIT No Details →
1.5.1 22 Jun 2017 C1 H5 M4 L1 U11 MIT No Details →
1.5.0 19 Apr 2017 C1 H6 M4 L1 U12 MIT No Details →
1.4.2 08 Aug 2016 C1 H5 M4 L1 U11 MIT No Details →
1.4.1 13 Jul 2016 C1 H5 M4 L1 U11 MIT No Details →
1.4.0 17 Jul 2015 C1 H5 M4 L1 U11 MIT No Details →
1.3.0 22 May 2015 C1 H5 M4 L1 U11 MIT No Details →
1.1.0 15 Apr 2015 C1 H5 M4 L1 U11 MIT No Details →
1.0.1 26 Mar 2015 C1 H5 M4 L1 U11 MIT No Details →
1.0.0 18 Mar 2015 C1 H5 M4 L1 U11 MIT No Details →
0.4.3 18 Feb 2015 C1 H5 M4 L1 U11 MIT No Details →
0.4.2 18 Feb 2015 C1 H5 M4 L1 U11 MIT No Details →
0.4.1 08 Jan 2015 C1 H5 M4 L1 U11 MIT No Details →
0.4.0 23 Dec 2014 C1 H5 M4 L1 U11 MIT No Details →
0.3.2 13 Dec 2014 C1 H5 M4 L1 U11 MIT No Details →
0.3.1 03 Dec 2014 C1 H5 M4 L1 U11 MIT No Details →
0.3.0 22 Oct 2014 C1 H5 M4 L1 U11 MIT No Details →
0.2.3 16 Oct 2014 C1 H5 M4 L1 U11 MIT No Details →
0.2.1 28 Apr 2014 C1 H5 M4 L1 U11 MIT No Details →
0.2.0 26 Mar 2014 C1 H5 M4 L1 U11 MIT No Details →
0.1.9 08 Feb 2014 C1 H5 M4 L1 U11 MIT No Details →
0.1.8 23 Jan 2014 C1 H5 M4 L1 U11 MIT No Details →
0.1.7 17 Jan 2014 C1 H5 M4 L1 U11 MIT No Details →
0.1.6 18 Aug 2013 C1 H5 M4 L1 U11 MIT No Details →
0.1.5 29 Oct 2012 C1 H5 M4 L1 U11 MIT No Details →
0.1.4 06 Apr 2011 C1 H5 M4 L1 U11 MIT No Details →
0.1.3 05 Apr 2011 C1 H5 M4 L1 U11 MIT No Details →
0.1.2 22 Mar 2011 C1 H5 M4 L1 U11 MIT No Details →
0.1.1 06 Mar 2011 C1 H5 M4 L1 U11 MIT No Details →
0.1.1-py2.5 — C1 H5 M4 L1 U12 — No Details →
0.1.1-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.1.1-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.1.2-py2.5 — C1 H5 M4 L1 U12 — No Details →
0.1.2-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.1.2-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.1.3-py2.5 — C1 H5 M4 L1 U12 — No Details →
0.1.3-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.1.3-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.1.4-py2.5 — C1 H5 M4 L1 U12 — No Details →
0.1.4-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.1.4-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.1.5-py2.5 — C1 H5 M4 L1 U12 — No Details →
0.1.5-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.1.5-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.1.6-py2.5 — C1 H5 M4 L1 U12 — No Details →
0.1.6-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.1.6-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.1.7-py2.5 — C1 H5 M4 L1 U12 — No Details →
0.1.7-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.1.7-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.1.7-py3.3 — C1 H5 M4 L1 U12 — No Details →
0.1.8-py2.5 — C1 H5 M4 L1 U12 — No Details →
0.1.8-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.1.8-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.1.8-py3.3 — C1 H5 M4 L1 U12 — No Details →
0.1.9-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.1.9-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.1.9-py3.3 — C1 H5 M4 L1 U12 — No Details →
0.2.0-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.2.0-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.2.0-py3.3 — C1 H5 M4 L1 U12 — No Details →
0.2.1-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.2.1-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.2.1-py3.3 — C1 H5 M4 L1 U12 — No Details →
0.2.3-py2.6 — C1 H5 M4 L1 U12 — No Details →
0.2.3-py2.7 — C1 H5 M4 L1 U12 — No Details →
0.2.3-py3.3 — C1 H5 M4 L1 U12 — No Details →

All 96 versions Vulert tracks for this package. Severity counts are the vulnerabilities recorded against that exact release.

02 Disclosure history

How often vulnerabilities are recorded

  • 2017 1
  • 2022 3
  • 2024 1
  • 2025 1
  • 2026 42

Counted by the year Vulert recorded each vulnerability — the same date the table below shows as disclosed. 42 of the 48 were recorded in the last 12 months.

Vulnerability wrong, a fix missing, or a package we should cover? Report it and we will fix the record. Report Vulnerability Provide Feedback

Updated: 23/Oct/2026 · Vulnerabilities in our DB: 524315

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →

Questions

About pyjwt

Is pyjwt safe to use?

Vulert records 48 vulnerabilities for pyjwt in PyPI: 1 critical, 10 high, 11 medium and 2 low, plus 24 not yet rated. 3 of them have no published fix yet, so those are the ones to avoid or mitigate.

What is pyjwt's Vulert package health score?

Vulert scores pyjwt 60/100, which reads as usable, but worth attention. The score weighs the vulnerability record (40), maintenance and release cadence (25), adoption from dependents and stars (20) and community signals such as the OpenSSF scorecard and forks (15). The current release has a vulnerability with no published fix, which caps this score.

Is the latest version of pyjwt affected?

Yes. 2.15.1, the version you would install today, has 4 known vulnerabilities, and 3 has no published fix yet. Use an earlier unaffected release, or the workaround each vulnerability lists.

Which version of pyjwt should I use?

2.15.1 is the version Vulert recommends for the affected releases. The version table above lists every release with the vulnerabilities recorded against it, so you can confirm the range you actually run.

How many vulnerabilities does pyjwt have?

48 vulnerabilities are recorded for pyjwt in the PyPI ecosystem: 1 critical, 10 high, 11 medium and 2 low, plus 24 not yet rated. The ledger on this page lists the same counts next to the date of the most recent disclosure.

How often are new pyjwt vulnerabilities disclosed?

42 vulnerabilities were recorded for pyjwt in the last 12 months, and the oldest entry in this database dates to 24 Aug 2017. Recency matters more than a lifetime total: it shows how actively new issues are being disclosed for the package you are considering.

Which versions of pyjwt are affected?

Each vulnerability on this page lists the affected version range and the fixed version to move to. Open the vulnerability for the version you actually run — fixes are specific to a release line, not to the package as a whole.

How do I monitor pyjwt for upcoming vulnerabilities?

Upload the manifest or SBOM for your application at vulert.com/scanner and Vulert keeps checking the pyjwt version you actually run against new disclosures, then alerts you when one affects it. There is no installation and no source-code access required.