NLTK Stanford wrapper classes execute untrusted JAR files without verification
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In nltk/nltk versions 3.9.3 and earlier, five Stanford interface classes (StanfordPOSTagger, StanfordNERTagger, StanfordParser, StanfordDependencyParser, and StanfordNeuralDependencyParser) are vulnerable to untrusted JAR code execution. These classes accept user-controllable JAR paths and execute them via the java() function, which invokes subprocess.Popen() without integrity verification. This vulnerability is identical to CVE-2026-0848, which was fixed for StanfordSegmenter by adding SHA256 verification. However, the fix was not applied to these additional classes, leaving them susceptible to arbitrary code execution when loading untrusted JAR files.
Text from CVE List
Affected versions 53
- nltk, pip< 3.9.4GitHub
- nltk/nltkaffected: unspecified through latestCVE List
- nltk, PyPIfrom first release, fixed in 3.9.4OSV
- nltk, PyPI0.8OSV
- nltk, PyPI0.9OSV
- nltk, PyPI0.9.3OSV
- nltk, PyPI0.9.4OSV
- nltk, PyPI0.9.5OSV
- nltk, PyPI0.9.6OSV
- nltk, PyPI0.9.7OSV
- nltk, PyPI0.9.8OSV
- nltk, PyPI0.9.9OSV
- nltk, PyPI2.0.1OSV
- nltk, PyPI2.0.1rc1OSV
- nltk, PyPI2.0.1rc2-gitOSV
- nltk, PyPI2.0.1rc3OSV
- nltk, PyPI2.0.1rc4OSV
- nltk, PyPI2.0.2OSV
- nltk, PyPI2.0.3OSV
- nltk, PyPI2.0.4OSV
- nltk, PyPI2.0.5OSV
- nltk, PyPI2.0b4OSV
- nltk, PyPI2.0b5OSV
- nltk, PyPI2.0b6OSV
- nltk, PyPI2.0b7OSV
- nltk, PyPI2.0b8OSV
- nltk, PyPI2.0b9OSV
- nltk, PyPI3.0.0OSV
- nltk, PyPI3.0.0b1OSV
- nltk, PyPI3.0.0b2OSV
- nltk, PyPI3.0.1OSV
- nltk, PyPI3.0.2OSV
- nltk, PyPI3.0.3OSV
- nltk, PyPI3.0.4OSV
- nltk, PyPI3.0.5OSV
- nltk, PyPI3.1OSV
- nltk, PyPI3.2OSV
- nltk, PyPI3.2.1OSV
- nltk, PyPI3.2.2OSV
- nltk, PyPI3.2.3OSV
- nltk, PyPI3.2.4OSV
- nltk, PyPI3.2.5OSV
- nltk, PyPI3.3OSV
- nltk, PyPI3.4OSV
- nltk, PyPI3.4.1OSV
- nltk, PyPI3.4.2OSV
- nltk, PyPI3.4.3OSV
- nltk, PyPI3.4.4OSV
- nltk, PyPI3.4.5OSV
- nltk, PyPI3.5OSV
- nltk, PyPI3.5b1OSV
- nltk, PyPI3.6OSV
- nltk, PyPI3.6.1OSV
References 8
- github.com/nltk/nltk/commit/006f4b83d430147b067b81e2cddd226d6fa405c8Fixvia GitHub
- github.com/nltk/nltk/commit/24777f0cb8c33ed2839d16e0f8169a3c312a6806Fixvia GitHub
- github.com/nltk/nltk/releases/tag/v3.10.3Fixvia GitHub
- github.com/pypa/advisory-database/tree/main/vulns/nltk/PYSEC-2026-2085.yamlAdvisoryvia GitHub
- github.com/advisories/GHSA-9r6g-266r-89x4Advisoryvia GitHub
- huntr.com/bounties/f5c93982-0cc9-4e2e-bb85-1b6ab29a2efbExploitvia CVE List
- nvd.nist.gov/vuln/detail/CVE-2026-12252Referencevia GitHub
- github.com/nltk/nltk/pull/3743Referencevia GitHub