Vulnerability Database · PyPI · Package report

pygments: vulnerability history, versions and safety

pygments is a package in the PyPI ecosystem. Vulert records 10 vulnerabilities for it across 120 releases, from Jan 2016 to Jul 2026. Each vulnerability names the versions it affects, the fixed version to move to, and a workaround where no fix has been published.

i
10 vulnerabilities recorded C1 H2 M1 L1 U5
i
1 with no fix published

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

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

Most recent disclosure 13 Jul 2026.

See the disclosure history →
i
0 malicious-package vulnerabilities

No published version shipped hostile code.

Vulert verdict on pygments 2.21.0 i

Updated on 23 Oct 2026

Careful: 2.21.0 has 1 known vulnerability, and 1 has no fix yet. Use an earlier safe version, or the workaround listed for each one.

Package health score 60/100
  • Security Some issues to review
  • 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.21.0 — affected i
  • Vulnerabilities on record 10 over 10 years · 2 in the last year i
  • Latest disclosure 13 Jul 2026 i
  • Highest CVSS 9.0 i
  • With no published fix 1 i
  • Depended on by 128,520 packages i
  • Stars 2,215 i
  • OpenSSF scorecard 5/10 i
  • Last release 2 months ago i
  • Licence BSD-2-Clause i

Version list, release dates, licence and dependants published by PyPI, refreshed 22 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 pygments, 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.21.0 17 Aug 2026 L1 BSD-2-Clause No Details →
2.20.0 29 Mar 2026 L1 BSD-2-Clause No Details →
2.19.2 21 Jun 2025 L1 U1 BSD-2-Clause No Details →
2.19.1 06 Jan 2025 L1 U1 BSD-2-Clause No Details →
2.19.0 05 Jan 2025 L1 U1 BSD-2-Clause No Details →
2.18.0 04 May 2024 L1 U1 BSD-2-Clause No Details →
2.17.2 21 Nov 2023 L1 U1 BSD-2-Clause No Details →
2.17.1 19 Nov 2023 L1 U1 BSD-2-Clause No Details →
2.17.0 18 Nov 2023 L1 U1 BSD-2-Clause No Details →
2.16.1 06 Aug 2023 L1 U1 BSD-2-Clause No Details →
2.16.0 06 Aug 2023 L1 U1 BSD-2-Clause No Details →
2.15.1 18 Apr 2023 L1 U1 BSD-2-Clause No Details →
2.15.0 10 Apr 2023 L1 U2 BSD-2-Clause No Details →
2.14.0 01 Jan 2023 M1 L1 U2 BSD-2-Clause No Details →
2.13.0 15 Aug 2022 M1 L1 U2 non-standard No Details →
2.12.0 24 Apr 2022 M1 L1 U2 non-standard No Details →
2.11.2 06 Jan 2022 M1 L1 U2 non-standard No Details →
2.11.1 31 Dec 2021 M1 L1 U2 non-standard No Details →
2.11.0 30 Dec 2021 M1 L1 U2 non-standard No Details →
2.10.0 15 Aug 2021 M1 L1 U2 non-standard No Details →
2.9.0 03 May 2021 M1 L1 U2 non-standard No Details →
2.8.1 07 Mar 2021 M1 L1 U2 non-standard No Details →
2.8.0 14 Feb 2021 M1 L1 U2 non-standard No Details →
2.7.4 12 Jan 2021 M1 L1 U2 non-standard No Details →
2.7.3 06 Dec 2020 H2 M1 L1 U4 non-standard No Details →
2.7.2 24 Oct 2020 H2 M1 L1 U4 non-standard No Details →
2.7.1 17 Sep 2020 H2 M1 L1 U4 non-standard No Details →
2.7.0 12 Sep 2020 H2 M1 L1 U4 non-standard No Details →
2.6.0 10 Mar 2020 H2 M1 L1 U4 non-standard No Details →
2.6.1 09 Mar 2020 H2 M1 L1 U4 non-standard No Details →
2.5.2 29 Nov 2019 H2 M1 L1 U4 non-standard No Details →
2.5.1 26 Nov 2019 H2 M1 L1 U4 non-standard No Details →
2.4.2 28 May 2019 H2 M1 L1 U4 non-standard No Details →
2.4.1 24 May 2019 H2 M1 L1 U4 non-standard No Details →
2.4.0 08 May 2019 H2 M1 L1 U4 non-standard No Details →
2.3.1 16 Dec 2018 H2 M1 L1 U4 non-standard No Details →
2.3.0 25 Nov 2018 H2 M1 L1 U4 non-standard No Details →
2.2.0 22 Jan 2017 H2 M1 L1 U4 non-standard No Details →
2.1.3 02 Mar 2016 H2 M1 L1 U4 non-standard No Details →
2.1.2 29 Feb 2016 H2 M1 L1 U4 non-standard No Details →
2.1.1 14 Feb 2016 H2 M1 L1 U4 non-standard No Details →
2.1.0 17 Jan 2016 H2 M1 L1 U3 non-standard No Details →
2.0.2 20 Jan 2015 C1 H2 M1 L1 U5 non-standard No Details →
2.0.1 10 Nov 2014 C1 H2 M1 L1 U5 non-standard No Details →
2.0.0 09 Nov 2014 C1 H2 M1 L1 U4 non-standard No Details →
2.0.0rc1 16 Oct 2014 C1 H2 M1 L1 U4 non-standard No Details →
1.6.0 05 Feb 2013 C1 H2 M1 L1 U5 non-standard No Details →
1.6.0rc1 09 Jan 2013 C1 H2 M1 L1 U5 non-standard No Details →
1.5.0 10 Mar 2012 C1 H2 M1 L1 U5 non-standard No Details →
1.4.0 03 Jan 2011 C1 H1 M1 L1 U4 non-standard No Details →
1.3.1 05 Mar 2010 C1 H1 M1 L1 U4 non-standard No Details →
1.3.0 01 Mar 2010 C1 H1 M1 L1 U4 non-standard No Details →
1.2.2 02 Jan 2010 C1 H1 M1 L1 U4 non-standard No Details →
1.2.1 02 Jan 2010 H1 M1 L1 U3 non-standard No Details →
1.2.0 01 Jan 2010 H1 M1 L1 U3 non-standard No Details →
1.1.1 15 Sep 2009 H1 M1 L1 U3 non-standard No Details →
1.1.0 11 Sep 2009 H1 M1 L1 U3 non-standard No Details →
1.0.0 23 Nov 2008 M1 L1 U3 non-standard No Details →
0.11.1 24 Aug 2008 M1 L1 U2 non-standard No Details →
0.11.0 23 Aug 2008 M1 L1 U3 non-standard No Details →
0.10.0 06 May 2008 M1 L1 U3 non-standard No Details →
0.9.0 14 Oct 2007 M1 L1 U3 non-standard No Details →
0.8.1 27 Jun 2007 M1 L1 U2 non-standard No Details →
0.8.0 30 May 2007 M1 L1 U3 non-standard No Details →
0.7.1 15 Feb 2007 M1 L1 U2 non-standard No Details →
0.7.0 14 Feb 2007 M1 L1 U3 non-standard No Details →
0.6.0 20 Dec 2006 M1 L1 U3 non-standard No Details →
0.5.1 30 Oct 2006 M1 L1 U2 non-standard No Details →
0.5.0 30 Oct 2006 M1 L1 U3 non-standard No Details →
0.10-py2.3 — M1 L1 U3 — No Details →
0.10-py2.4 — M1 L1 U3 — No Details →
0.10-py2.5 — M1 L1 U3 — No Details →
0.11-py2.3 — M1 L1 U3 — No Details →
0.11-py2.4 — M1 L1 U3 — No Details →
0.11-py2.5 — M1 L1 U3 — No Details →
0.11.1-py2.3 — M1 L1 U3 — No Details →
0.11.1-py2.4 — M1 L1 U3 — No Details →
0.11.1-py2.5 — M1 L1 U3 — No Details →
0.5-py2.3 — M1 L1 U3 — No Details →
0.5-py2.4 — M1 L1 U3 — No Details →
0.5-py2.5 — M1 L1 U3 — No Details →
0.5.1-py2.3 — M1 L1 U3 — No Details →
0.5.1-py2.4 — M1 L1 U3 — No Details →
0.5.1-py2.5 — M1 L1 U3 — No Details →
0.6-py2.3 — M1 L1 U3 — No Details →
0.6-py2.4 — M1 L1 U3 — No Details →
0.6-py2.5 — M1 L1 U3 — No Details →
0.7-py2.3 — M1 L1 U3 — No Details →
0.7-py2.4 — M1 L1 U3 — No Details →
0.7-py2.5 — M1 L1 U3 — No Details →
0.7.1-py2.3 — M1 L1 U3 — No Details →
0.7.1-py2.4 — M1 L1 U3 — No Details →
0.7.1-py2.5 — M1 L1 U3 — No Details →
0.8-py2.3 — M1 L1 U3 — No Details →
0.8-py2.4 — M1 L1 U3 — No Details →
0.8-py2.5 — M1 L1 U3 — No Details →
0.8.1-py2.3 — M1 L1 U3 — No Details →
0.8.1-py2.4 — M1 L1 U3 — No Details →
0.8.1-py2.5 — M1 L1 U3 — No Details →
0.9-py2.3 — M1 L1 U3 — No Details →
0.9-py2.4 — M1 L1 U3 — No Details →
0.9-py2.5 — M1 L1 U3 — No Details →
1.0-py2.3 — M1 L1 U3 — No Details →
1.0-py2.4 — M1 L1 U3 — No Details →
1.0-py2.5 — M1 L1 U3 — No Details →
1.0-py2.6 — M1 L1 U3 — No Details →
1.1-py2.4 — H1 M1 L1 U3 — No Details →
1.1-py2.5 — H1 M1 L1 U3 — No Details →
1.1-py2.6 — H1 M1 L1 U3 — No Details →
1.1.1-py2.4 — H1 M1 L1 U3 — No Details →
1.1.1-py2.5 — H1 M1 L1 U3 — No Details →
1.1.1-py2.6 — H1 M1 L1 U3 — No Details →
1.2-py2.4 — C1 H1 M1 L1 U4 — No Details →
1.2-py2.5 — C1 H1 M1 L1 U4 — No Details →
1.2-py2.6 — C1 H1 M1 L1 U4 — No Details →
1.2.1-py2.4 — H1 M1 L1 U3 — No Details →
1.2.1-py2.5 — H1 M1 L1 U3 — No Details →
1.2.1-py2.6 — H1 M1 L1 U3 — No Details →
1.2.2-py2.4 — C1 H1 M1 L1 U4 — No Details →
1.2.2-py2.5 — C1 H1 M1 L1 U4 — No Details →

The newest 120 of 137 versions Vulert tracks. Severity counts are the vulnerabilities recorded against that exact release.

02 Disclosure history

How often vulnerabilities are recorded

  • 2016 1
  • 2021 4
  • 2022 1
  • 2023 2
  • 2026 2

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

03 Vulnerabilities

Recorded vulnerabilities for pygments

The 5 most severe of 10 vulnerabilities recorded for this package

Search all 10 in the database →

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 pygments

Is pygments safe to use?

Vulert records 10 vulnerabilities for pygments in PyPI: 1 critical, 2 high, 1 medium and 1 low, plus 5 not yet rated. 1 of them has no published fix yet, so that is the one to avoid or mitigate.

What is pygments's Vulert package health score?

Vulert scores pygments 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 pygments affected?

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

Which version of pygments should I use?

2.21.0 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 pygments have?

10 vulnerabilities are recorded for pygments in the PyPI ecosystem: 1 critical, 2 high, 1 medium and 1 low, plus 5 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 pygments vulnerabilities disclosed?

2 vulnerabilities were recorded for pygments in the last 12 months, and the oldest entry in this database dates to 08 Jan 2016. 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 pygments 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 pygments for upcoming vulnerabilities?

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