{"schema_version":1,"title":"pygments (PyPI) vulnerabilities","summary":"Junglewise Threat Intelligence has tracked 5 vulnerabilities in pygments (PyPI): 0 in the last 7 days and 1 in the last 90 days, 0 of them critical and 0 exploited in the wild. The most recent, CVE-2026-4539, was published on 13 July 2026.","url":"https://junglewise.ai/threats/technologies/pygments","json_url":"https://junglewise.ai/threats/technologies/pygments.json","publisher":"Junglewise Threat Intelligence","license":"CC-BY-4.0","license_url":"https://creativecommons.org/licenses/by/4.0/","attribution":"Junglewise Threat Intelligence, https://junglewise.ai/threats/technologies/pygments","sources":"NVD, GitHub Security Advisories, OSV, the CISA Known Exploited Vulnerabilities catalog, FIRST EPSS and vendor advisories","kind":"technology","counts":{"high":0,"all_time":5,"critical":0,"exploited":0,"last_7_days":0,"last_30_days":0,"last_90_days":1,"last_365_days":1},"latest":[{"cve":"CVE-2026-4539","cvss":3.1,"epss":0.0016,"slug":"cve-2026-4539-pygments-has-regular-expression-denial-of-service-redos-due-to","title":"PYSEC-2026-2987 - Pygments has Regular Expression Denial of Service (ReDoS) due to Inefficient Regex for GUID Matching","severity":"low","exploited":false,"published_at":"2026-07-13T14:36:44.333679+00:00","url":"https://junglewise.ai/threats/cve-2026-4539-pygments-has-regular-expression-denial-of-service-redos-due-to"},{"cve":"CVE-2022-40896","cvss":3.1,"epss":0.0052,"slug":"cve-2022-40896-pygments-vulnerable-to-redos","title":"PYSEC-2023-117 - A ReDoS issue was discovered in pygments/lexers/smithy.py in pygments through 2.15.0 via SmithyLexer.","severity":"low","exploited":false,"published_at":"2023-07-19T15:15:00+00:00","url":"https://junglewise.ai/threats/cve-2022-40896-pygments-vulnerable-to-redos"},{"cve":"CVE-2021-20270","cvss":3.1,"epss":0.0276,"slug":"cve-2021-20270-infinite-loop-in-pygments","title":"PYSEC-2021-140 - An infinite loop in SMLLexer in Pygments versions 1.5 to 2.7.3 may lead to denial of service when performing syntax highlighting of a Standa","severity":"low","exploited":false,"published_at":"2021-03-23T17:15:00+00:00","url":"https://junglewise.ai/threats/cve-2021-20270-infinite-loop-in-pygments"},{"cve":"CVE-2021-27291","cvss":3.1,"epss":0.0391,"slug":"cve-2021-27291-pygments-vulnerable-to-regular-expression-denial-of-service-redos","title":"PYSEC-2021-141 - In pygments 1.1+, fixed in 2.7.4, the lexers used to parse programming languages rely heavily on regular expressions. Some of the regular ex","severity":"low","exploited":false,"published_at":"2021-03-17T13:15:00+00:00","url":"https://junglewise.ai/threats/cve-2021-27291-pygments-vulnerable-to-regular-expression-denial-of-service-redos"},{"cve":"CVE-2015-8557","cvss":3,"epss":0.0672,"slug":"cve-2015-8557-command-injection-in-pygments","title":"PYSEC-2016-32 - The FontManager._get_nix_font_path function in formatters/img.py in Pygments 1.2.2 through 2.0.2 allows remote attackers to execute arbitrar","severity":"low","exploited":false,"published_at":"2016-01-08T20:59:00+00:00","url":"https://junglewise.ai/threats/cve-2015-8557-command-injection-in-pygments"}],"weekly":[{"week":"2026-06-29","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-07-06","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-07-13","critical":0,"exploited":0,"vulnerabilities":1},{"week":"2026-07-20","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-07-27","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-08-03","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-08-10","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-08-17","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-08-24","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-08-31","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-09-07","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-09-14","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-09-21","critical":0,"exploited":0,"vulnerabilities":0}],"related":[{"name":"open-webui (PyPI)","slug":"open-webui","vulnerabilities":156,"url":"https://junglewise.ai/threats/technologies/open-webui"},{"name":"nltk (PyPI)","slug":"nltk","vulnerabilities":74,"url":"https://junglewise.ai/threats/technologies/nltk"},{"name":"picklescan (PyPI)","slug":"picklescan","vulnerabilities":74,"url":"https://junglewise.ai/threats/technologies/picklescan"},{"name":"openbabel (PyPI)","slug":"openbabel","vulnerabilities":48,"url":"https://junglewise.ai/threats/technologies/openbabel"},{"name":"apache-superset (PyPI)","slug":"apache-superset","vulnerabilities":44,"url":"https://junglewise.ai/threats/technologies/apache-superset"},{"name":"apache-airflow (PyPI)","slug":"apache-airflow","vulnerabilities":40,"url":"https://junglewise.ai/threats/technologies/apache-airflow"},{"name":"tensorflow-gpu (PyPI)","slug":"tensorflow-gpu","vulnerabilities":37,"url":"https://junglewise.ai/threats/technologies/tensorflow-gpu"},{"name":"tensorflow-cpu (PyPI)","slug":"tensorflow-cpu","vulnerabilities":34,"url":"https://junglewise.ai/threats/technologies/tensorflow-cpu"},{"name":"weblate (PyPI)","slug":"weblate","vulnerabilities":33,"url":"https://junglewise.ai/threats/technologies/weblate"},{"name":"mcp-atlassian (PyPI)","slug":"mcp-atlassian","vulnerabilities":30,"url":"https://junglewise.ai/threats/technologies/mcp-atlassian"},{"name":"crawl4ai (PyPI)","slug":"crawl4ai","vulnerabilities":28,"url":"https://junglewise.ai/threats/technologies/crawl4ai"},{"name":"moin (PyPI)","slug":"moin","vulnerabilities":28,"url":"https://junglewise.ai/threats/technologies/moin"}],"technology":{"hub":true,"name":"pygments (PyPI)","slug":"pygments","vendor":{"name":"PyPI","slug":"pypi","url":"https://junglewise.ai/threats/vendors/pypi"},"aliases":[],"url":"https://junglewise.ai/threats/technologies/pygments"},"most_severe":[{"cve":"CVE-2021-27291","cvss":3.1,"epss":0.0391,"slug":"cve-2021-27291-pygments-vulnerable-to-regular-expression-denial-of-service-redos","title":"PYSEC-2021-141 - In pygments 1.1+, fixed in 2.7.4, the lexers used to parse programming languages rely heavily on regular expressions. Some of the regular ex","severity":"low","exploited":false,"published_at":"2021-03-17T13:15:00+00:00","url":"https://junglewise.ai/threats/cve-2021-27291-pygments-vulnerable-to-regular-expression-denial-of-service-redos"},{"cve":"CVE-2021-20270","cvss":3.1,"epss":0.0276,"slug":"cve-2021-20270-infinite-loop-in-pygments","title":"PYSEC-2021-140 - An infinite loop in SMLLexer in Pygments versions 1.5 to 2.7.3 may lead to denial of service when performing syntax highlighting of a Standa","severity":"low","exploited":false,"published_at":"2021-03-23T17:15:00+00:00","url":"https://junglewise.ai/threats/cve-2021-20270-infinite-loop-in-pygments"},{"cve":"CVE-2022-40896","cvss":3.1,"epss":0.0052,"slug":"cve-2022-40896-pygments-vulnerable-to-redos","title":"PYSEC-2023-117 - A ReDoS issue was discovered in pygments/lexers/smithy.py in pygments through 2.15.0 via SmithyLexer.","severity":"low","exploited":false,"published_at":"2023-07-19T15:15:00+00:00","url":"https://junglewise.ai/threats/cve-2022-40896-pygments-vulnerable-to-redos"},{"cve":"CVE-2026-4539","cvss":3.1,"epss":0.0016,"slug":"cve-2026-4539-pygments-has-regular-expression-denial-of-service-redos-due-to","title":"PYSEC-2026-2987 - Pygments has Regular Expression Denial of Service (ReDoS) due to Inefficient Regex for GUID Matching","severity":"low","exploited":false,"published_at":"2026-07-13T14:36:44.333679+00:00","url":"https://junglewise.ai/threats/cve-2026-4539-pygments-has-regular-expression-denial-of-service-redos-due-to"},{"cve":"CVE-2015-8557","cvss":3,"epss":0.0672,"slug":"cve-2015-8557-command-injection-in-pygments","title":"PYSEC-2016-32 - The FontManager._get_nix_font_path function in formatters/img.py in Pygments 1.2.2 through 2.0.2 allows remote attackers to execute arbitrar","severity":"low","exploited":false,"published_at":"2016-01-08T20:59:00+00:00","url":"https://junglewise.ai/threats/cve-2015-8557-command-injection-in-pygments"}],"generated_at":"2026-09-26T13:07:00.120236+00:00"}