CVE-2026-126297: NLTK: Quadratic-time CPU denial of service in ConllCorpusReader SRL instance builder via nested span rescan
ConllCorpusReader.srl_instances() builds semantic-role-labeling instances from a CoNLL corpus block. For a sentence block with P predicates and P span columns, the instance builder rescans every span column (and every span within it) once per predicate while searching for each predicate’s head, giving O(P^2 * R) work. A single well-formed block that places the head span in the last column forces the full scan on every predicate, so an application that reads an attacker-supplied CoNLL SRL corpus can be driven into tens of seconds of single-threaded CPU. No authentication or user interaction is required.
References
- github.com/advisories/GHSA-v8f3-6phw-6mh9
- github.com/nltk/nltk/commit/7bae75fc0f7b1f057ff7d89d24c81bb5a4a0f05a
- github.com/nltk/nltk/commit/9cacbb95d97eaac7debb30d6e7decbe74d2c635f
- github.com/nltk/nltk/pull/3933
- github.com/nltk/nltk/releases/tag/v3.10.4
- github.com/nltk/nltk/security/advisories/GHSA-v8f3-6phw-6mh9
- nvd.nist.gov/vuln/detail/CVE-2026-126297
- www.vulncheck.com/advisories/nltk-before-3.10.4-cpu-denial-of-service-via-conllcorpusreader-srl-instances
Code Behaviors & Features
Detect and mitigate CVE-2026-126297 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →