CVE-2026-126295: NLTK 3.10.0 before 3.10.4 Arbitrary File Read via BllipParser Model Paths
NLTK from 3.10.0 before 3.10.4 contains an arbitrary file read vulnerability in BllipParser that allows attackers to open files outside NLTK data roots by supplying unvalidated model paths. Attackers controlling parsermodel, rerankerfeatures, rerankerweights, or fromunifiedmodeldir() input can make the bllipparser C extension read sensitive files or block on FIFOs and devices.
Event History
Frequently Asked Questions
Which applications are exposed to this issue?
Applications using affected NLTK versions are exposed when untrusted input can control BllipParser model-path parameters, including parser_model, reranker_features, reranker_weights, or the input to from_unified_model_dir().
Does exploitation require authentication or user interaction?
No. The supplied vector indicates no privileges and no user interaction are required, although an attacker must be able to supply one of the affected model-path inputs.
What can an attacker do with a crafted path?
An attacker can cause the bllipparser C extension to read sensitive files outside NLTK data roots. Paths to FIFOs or device files may also cause the application to block.
What should be prioritized for mitigation?
Upgrade from NLTK versions 3.10.0 through before 3.10.4. Until upgrading, do not allow untrusted users or requests to control the affected BllipParser model paths, and restrict those paths to approved model locations.