{"schema_version":1,"title":"nltk (PyPI) vulnerabilities","summary":"Junglewise Threat Intelligence has tracked 83 vulnerabilities in nltk (PyPI): 0 in the last 7 days and 69 in the last 90 days, 7 of them critical and 0 exploited in the wild. The most recent, CVE-2026-12259, was published on 8 September 2026.","url":"https://junglewise.ai/threats/technologies/nltk","json_url":"https://junglewise.ai/threats/technologies/nltk.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/nltk","sources":"NVD, GitHub Security Advisories, OSV, the CISA Known Exploited Vulnerabilities catalog, FIRST EPSS and vendor advisories","kind":"technology","counts":{"high":42,"all_time":83,"critical":7,"exploited":0,"last_7_days":0,"last_30_days":15,"last_90_days":69,"last_365_days":77},"latest":[{"cve":"CVE-2026-12259","cvss":5.3,"epss":0.0014,"slug":"cve-2026-12259-nltk-missing-post-download-integrity-verification","title":"NLTK missing post-download integrity verification","severity":"medium","exploited":false,"published_at":"2026-09-08T15:27:55+00:00","url":"https://junglewise.ai/threats/cve-2026-12259-nltk-missing-post-download-integrity-verification"},{"cve":"CVE-2026-12876","cvss":4,"slug":"cve-2026-12876-nltk-recursivedescentparser-uncontrolled-recursion-denial-of","title":"NLTK RecursiveDescentParser uncontrolled recursion denial of service","severity":"medium","exploited":false,"published_at":"2026-09-02T14:33:38+00:00","url":"https://junglewise.ai/threats/cve-2026-12876-nltk-recursivedescentparser-uncontrolled-recursion-denial-of"},{"cvss":5.9,"slug":"nltk-tgrep-regular-expression-denial-of-service-02fca1b2","title":"NLTK tgrep regular expression denial of service","severity":"medium","exploited":false,"published_at":"2026-08-31T21:31:52+00:00","url":"https://junglewise.ai/threats/nltk-tgrep-regular-expression-denial-of-service-02fca1b2"},{"cvss":7.1,"slug":"nltk-downloader-hardlink-filesystem-containment-bypass-522cb97d","title":"NLTK Downloader hardlink filesystem containment bypass","severity":"high","exploited":false,"published_at":"2026-08-27T18:32:30+00:00","url":"https://junglewise.ai/threats/nltk-downloader-hardlink-filesystem-containment-bypass-522cb97d"},{"cvss":3.7,"slug":"nltk-pl196xcorpusreader-quadratic-redos-on-malformed-tei-blocks-8473e6ef","title":"NLTK Pl196xCorpusReader quadratic ReDoS on malformed TEI blocks","severity":"low","exploited":false,"published_at":"2026-08-27T18:32:30+00:00","url":"https://junglewise.ai/threats/nltk-pl196xcorpusreader-quadratic-redos-on-malformed-tei-blocks-8473e6ef"},{"cvss":5.3,"slug":"nltk-uncontrolled-recursion-in-featstructreader-denial-of-service-e246abcc","title":"NLTK uncontrolled recursion in FeatStructReader denial of service","severity":"medium","exploited":false,"published_at":"2026-08-27T18:32:30+00:00","url":"https://junglewise.ai/threats/nltk-uncontrolled-recursion-in-featstructreader-denial-of-service-e246abcc"},{"cvss":7,"slug":"nltk-path-traversal-in-model-artifact-apis-via-pathsec-bypass-a4651c73","title":"NLTK path traversal in model-artifact APIs via pathsec bypass","severity":"high","exploited":false,"published_at":"2026-08-27T18:32:30+00:00","url":"https://junglewise.ai/threats/nltk-path-traversal-in-model-artifact-apis-via-pathsec-bypass-a4651c73"},{"cvss":7.5,"slug":"nltk-porterstemmer-quadratic-time-dos-via-long-runs-of-y-b1fab99a","title":"NLTK PorterStemmer quadratic-time DoS via long runs of 'y'","severity":"high","exploited":false,"published_at":"2026-08-27T18:32:29+00:00","url":"https://junglewise.ai/threats/nltk-porterstemmer-quadratic-time-dos-via-long-runs-of-y-b1fab99a"},{"cvss":3.7,"slug":"nltk-quadratic-cpu-exhaustion-in-xmlcorpusview-read-xml-fragment-439bc4da","title":"NLTK quadratic CPU exhaustion in XMLCorpusView._read_xml_fragment()","severity":"low","exploited":false,"published_at":"2026-08-27T18:32:29+00:00","url":"https://junglewise.ai/threats/nltk-quadratic-cpu-exhaustion-in-xmlcorpusview-read-xml-fragment-439bc4da"},{"cve":"CVE-2026-81727","cvss":7.1,"epss":0.0019,"slug":"cve-2026-81727-nltk-downloader-hardlink-traversal-in-file-extraction","title":"NLTK versions before 3.10.3 contain a filesystem containment bypass vulnerability in the Downloader.download and Downloader.incr_download me","severity":"high","exploited":false,"published_at":"2026-08-27T17:21:03.533+00:00","url":"https://junglewise.ai/threats/cve-2026-81727-nltk-downloader-hardlink-traversal-in-file-extraction"},{"cve":"CVE-2026-81726","cvss":7,"epss":0.0034,"slug":"cve-2026-81726-nltk-model-artifact-apis-sandbox-bypass-via-path-traversal","title":"NLTK through 3.10.3 contains a path traversal vulnerability in model-artifact APIs that bypass pathsec enforcement by using raw file operati","severity":"high","exploited":false,"published_at":"2026-08-27T17:21:03.387+00:00","url":"https://junglewise.ai/threats/cve-2026-81726-nltk-model-artifact-apis-sandbox-bypass-via-path-traversal"},{"cve":"CVE-2026-81725","cvss":4,"epss":0.0037,"slug":"cve-2026-81725-nltk-pl196xcorpusreader-quadratic-redos-on-malformed-tei-blocks","title":"NLTK before 3.10.3 contains a regular expression denial of service vulnerability in Pl196xCorpusReader that allows attackers to cause quadra","severity":"medium","exploited":false,"published_at":"2026-08-27T17:21:03.247+00:00","url":"https://junglewise.ai/threats/cve-2026-81725-nltk-pl196xcorpusreader-quadratic-redos-on-malformed-tei-blocks"},{"cve":"CVE-2026-81724","cvss":5.3,"epss":0.0046,"slug":"cve-2026-81724-nltk-featstructreader-uncontrolled-recursion-denial-of-service","title":"NLTK before 3.10.3 contains an uncontrolled recursion vulnerability in nltk.featstruct.FeatStructReader that allows unauthenticated attacker","severity":"medium","exploited":false,"published_at":"2026-08-27T17:21:03.1+00:00","url":"https://junglewise.ai/threats/cve-2026-81724-nltk-featstructreader-uncontrolled-recursion-denial-of-service"},{"cve":"CVE-2026-81723","cvss":3.7,"epss":0.0028,"slug":"cve-2026-81723-nltk-xmlcorpusview-quadratic-cpu-exhaustion","title":"NLTK versions before 3.10.3 contain a quadratic CPU exhaustion vulnerability in XMLCorpusView._read_xml_fragment() that rescans accumulated","severity":"low","exploited":false,"published_at":"2026-08-27T17:21:02.957+00:00","url":"https://junglewise.ai/threats/cve-2026-81723-nltk-xmlcorpusview-quadratic-cpu-exhaustion"},{"cve":"CVE-2026-81722","cvss":7.5,"epss":0.0052,"slug":"cve-2026-81722-nltk-porterstemmer-quadratic-time-dos-via-long-runs-of-y","title":"nltk PorterStemmer in versions <= 3.10.2 (fixed in 3.10.3) contains an inefficient-algorithmic-complexity denial of service in PorterStemmer","severity":"high","exploited":false,"published_at":"2026-08-27T17:21:02.8+00:00","url":"https://junglewise.ai/threats/cve-2026-81722-nltk-porterstemmer-quadratic-time-dos-via-long-runs-of-y"},{"cvss":3.1,"slug":"nltk-redos-in-text-findall-via-unvalidated-regular-expressions-f6e80d0b","title":"NLTK ReDoS in Text.findall() via unvalidated regular expressions","severity":"low","exploited":false,"published_at":"2026-08-26T18:31:54+00:00","url":"https://junglewise.ai/threats/nltk-redos-in-text-findall-via-unvalidated-regular-expressions-f6e80d0b"},{"cvss":7.5,"slug":"nltk-redos-in-text-findall-via-unvalidated-regex-70befad1","title":"NLTK ReDoS in Text.findall() via unvalidated regex","severity":"high","exploited":false,"published_at":"2026-08-26T18:31:54+00:00","url":"https://junglewise.ai/threats/nltk-redos-in-text-findall-via-unvalidated-regex-70befad1"},{"cve":"CVE-2026-80206","cvss":5.9,"epss":0.0044,"slug":"cve-2026-80206-nltk-tgrep-regular-expression-denial-of-service","title":"NLTK before 3.10.3 contains a regular expression denial of service (ReDoS) vulnerability in the tgrep module. The _tgrep_node_action functio","severity":"high","exploited":false,"published_at":"2026-08-26T11:16:40.103+00:00","url":"https://junglewise.ai/threats/cve-2026-80206-nltk-tgrep-regular-expression-denial-of-service"},{"cve":"CVE-2026-80205","cvss":7.5,"epss":0.0065,"slug":"cve-2026-80205-nltk-redos-in-text-findall-via-unvalidated-regex","title":"NLTK versions before 3.10.0 contain a regular expression denial of service vulnerability in Text.findall() and TokenSearcher.findall() metho","severity":"high","exploited":false,"published_at":"2026-08-26T11:16:39.95+00:00","url":"https://junglewise.ai/threats/cve-2026-80205-nltk-redos-in-text-findall-via-unvalidated-regex"},{"cvss":8.2,"slug":"nltk-corpus-reader-sandbox-bypass-6e33487f","title":"NLTK corpus reader sandbox bypass","severity":"high","exploited":false,"published_at":"2026-08-25T18:31:52+00:00","url":"https://junglewise.ai/threats/nltk-corpus-reader-sandbox-bypass-6e33487f"},{"cvss":5.9,"slug":"nltk-corpus-readers-symlink-path-traversal-bypass-edf52a38","title":"NLTK corpus readers symlink path traversal bypass","severity":"medium","exploited":false,"published_at":"2026-08-25T18:31:52+00:00","url":"https://junglewise.ai/threats/nltk-corpus-readers-symlink-path-traversal-bypass-edf52a38"},{"cvss":3.1,"slug":"nltk-jvm-argument-injection-bypass-in-stanford-wrappers-f03c7353","title":"NLTK JVM argument injection bypass in Stanford wrappers","severity":"low","exploited":false,"published_at":"2026-08-25T18:31:52+00:00","url":"https://junglewise.ai/threats/nltk-jvm-argument-injection-bypass-in-stanford-wrappers-f03c7353"},{"cvss":9.8,"slug":"nltk-jvm-argument-injection-in-stanford-wrappers-via-per-call-options-628f3938","title":"NLTK JVM argument injection in Stanford wrappers via per-call options","severity":"critical","exploited":false,"published_at":"2026-08-25T18:31:52+00:00","url":"https://junglewise.ai/threats/nltk-jvm-argument-injection-in-stanford-wrappers-via-per-call-options-628f3938"},{"cve":"CVE-2026-79676","cvss":5.9,"epss":0.0045,"slug":"cve-2026-79676-nltk-corpus-readers-symlink-boundary-bypass","title":"NLTK versions before 3.10.3 contain a path traversal vulnerability in corpus readers that reopen root-derived paths using built-in open() in","severity":"high","exploited":false,"published_at":"2026-08-25T16:17:28.177+00:00","url":"https://junglewise.ai/threats/cve-2026-79676-nltk-corpus-readers-symlink-boundary-bypass"},{"cve":"CVE-2026-79675","cvss":9.8,"epss":0.0078,"slug":"cve-2026-79675-nltk-jvm-argument-injection-bypass-in-stanford-wrappers","title":"NLTK before 3.10.3 fails to validate JVM options passed through the per-call options parameter in the java() function, allowing attackers to","severity":"critical","exploited":false,"published_at":"2026-08-25T16:17:28.013+00:00","url":"https://junglewise.ai/threats/cve-2026-79675-nltk-jvm-argument-injection-bypass-in-stanford-wrappers"}],"weekly":[{"week":"2026-06-29","critical":0,"exploited":0,"vulnerabilities":3},{"week":"2026-07-06","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-07-13","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-07-20","critical":0,"exploited":0,"vulnerabilities":1},{"week":"2026-07-27","critical":0,"exploited":0,"vulnerabilities":4},{"week":"2026-08-03","critical":0,"exploited":0,"vulnerabilities":3},{"week":"2026-08-10","critical":0,"exploited":0,"vulnerabilities":0},{"week":"2026-08-17","critical":0,"exploited":0,"vulnerabilities":22},{"week":"2026-08-24","critical":6,"exploited":0,"vulnerabilities":33},{"week":"2026-08-31","critical":0,"exploited":0,"vulnerabilities":2},{"week":"2026-09-07","critical":0,"exploited":0,"vulnerabilities":1},{"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":"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"},{"name":"opencv-contrib-python (PyPI)","slug":"opencv-contrib-python","vulnerabilities":24,"url":"https://junglewise.ai/threats/technologies/opencv-contrib-python"}],"technology":{"hub":true,"name":"nltk (PyPI)","slug":"nltk","vendor":{"name":"PyPI","slug":"pypi","url":"https://junglewise.ai/threats/vendors/pypi"},"aliases":[],"homepage":"https://www.nltk.org/","repo_url":"https://github.com/nltk/nltk","description":"A suite of libraries and programs for symbolic and statistical natural language processing for the Python programming language.","url":"https://junglewise.ai/threats/technologies/nltk"},"most_severe":[{"cve":"CVE-2025-14009","cvss":10,"epss":0.0095,"slug":"cve-2025-14009-nltk-zip-slip-remote-code-execution-in-downloader-component","title":"NLTK Zip Slip remote code execution in downloader component","severity":"critical","exploited":false,"published_at":"2026-02-18T18:24:19.41+00:00","url":"https://junglewise.ai/threats/cve-2025-14009-nltk-zip-slip-remote-code-execution-in-downloader-component"},{"cve":"CVE-2026-79657","cvss":9.8,"epss":0.0127,"slug":"cve-2026-79657-nltk-remote-code-execution-via-unsafe-pickle-deserialization","title":"NLTK versions before 3.10.3 contain a remote code execution vulnerability in allowlisted pickle loaders that trust entire module namespaces","severity":"critical","exploited":false,"published_at":"2026-08-25T12:16:28.87+00:00","url":"https://junglewise.ai/threats/cve-2026-79657-nltk-remote-code-execution-via-unsafe-pickle-deserialization"},{"cve":"CVE-2026-79675","cvss":9.8,"epss":0.0078,"slug":"cve-2026-79675-nltk-jvm-argument-injection-bypass-in-stanford-wrappers","title":"NLTK before 3.10.3 fails to validate JVM options passed through the per-call options parameter in the java() function, allowing attackers to","severity":"critical","exploited":false,"published_at":"2026-08-25T16:17:28.013+00:00","url":"https://junglewise.ai/threats/cve-2026-79675-nltk-jvm-argument-injection-bypass-in-stanford-wrappers"},{"cvss":9.8,"slug":"nltk-jvm-argument-injection-in-stanford-wrappers-via-per-call-options-628f3938","title":"NLTK JVM argument injection in Stanford wrappers via per-call options","severity":"critical","exploited":false,"published_at":"2026-08-25T18:31:52+00:00","url":"https://junglewise.ai/threats/nltk-jvm-argument-injection-in-stanford-wrappers-via-per-call-options-628f3938"},{"cvss":9.8,"slug":"nltk-unsafe-pickle-deserialization-in-allowlisted-loaders-eeef7a48","title":"NLTK unsafe pickle deserialization in allowlisted loaders","severity":"critical","exploited":false,"published_at":"2026-08-25T12:31:25+00:00","url":"https://junglewise.ai/threats/nltk-unsafe-pickle-deserialization-in-allowlisted-loaders-eeef7a48"},{"cve":"CVE-2026-78683","cvss":9.6,"epss":0.0051,"slug":"cve-2026-78683-nltk-unsafe-pickle-deserialization-in-transitionparser","title":"NLTK before 3.10.0 (affected versions <=3.9.4) contains an unsafe pickle deserialization vulnerability in the TransitionParser.parse() metho","severity":"critical","exploited":false,"published_at":"2026-08-25T02:16:53.033+00:00","url":"https://junglewise.ai/threats/cve-2026-78683-nltk-unsafe-pickle-deserialization-in-transitionparser"},{"cvss":9.6,"slug":"nltk-unsafe-pickle-deserialization-in-transitionparser-672e8ed3","title":"NLTK unsafe pickle deserialization in TransitionParser","severity":"critical","exploited":false,"published_at":"2026-08-25T03:32:11+00:00","url":"https://junglewise.ai/threats/nltk-unsafe-pickle-deserialization-in-transitionparser-672e8ed3"},{"cve":"CVE-2026-71513","cvss":8.8,"epss":0.011,"slug":"cve-2026-71513-nltk-allowlistunpickler-dotted-name-validation-bypass","title":"NLTK before 3.10.3 contains a remote code execution vulnerability in AllowlistUnpickler that validates only the pickle module string and not","severity":"high","exploited":false,"published_at":"2026-08-22T14:16:33.417+00:00","url":"https://junglewise.ai/threats/cve-2026-71513-nltk-allowlistunpickler-dotted-name-validation-bypass"},{"cve":"CVE-2026-0847","cvss":8.6,"epss":0.009,"slug":"cve-2026-0847-nltk-path-traversal-in-corpusreader-classes","title":"NLTK path traversal in CorpusReader classes","severity":"high","exploited":false,"published_at":"2026-03-04T19:16:10.683+00:00","url":"https://junglewise.ai/threats/cve-2026-0847-nltk-path-traversal-in-corpusreader-classes"},{"cve":"CVE-2026-0846","cvss":8.6,"epss":0.0053,"slug":"cve-2026-0846-nltk-arbitrary-file-read-in-nltk-util-filestring","title":"NLTK arbitrary file read in nltk.util.filestring","severity":"high","exploited":false,"published_at":"2026-03-09T20:16:05.703+00:00","url":"https://junglewise.ai/threats/cve-2026-0846-nltk-arbitrary-file-read-in-nltk-util-filestring"}],"generated_at":"2026-09-26T13:07:00.120236+00:00"}