What’s Vulnerable › Vulnerabilities
CVE-2026-71513: NLTK 3.10.0 through 3.10.2 Remote Code Execution via AllowlistUnpickler Dotted-Name Bypass
- Severity: high (CVSS 8.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 1.1% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-08-22 · updated 2026-10-14
- Weakness: CWE-502
Description
NLTK before 3.10.3 contains a remote code execution vulnerability in AllowlistUnpickler that validates only the pickle module string and not the global name, allowing attackers to resolve dotted names by attribute traversal to callables outside the allowlisted namespace. Attackers can craft untrusted transition-parser models that execute arbitrary commands when TransitionParser.parse loads the model through allowlisted_pickle_load.
Affected products
- nltk: before 3.10.3 — fixed in 3.10.3
How to fix
Upgrade to a fixed version: nltk 3.10.3. Check the vendor advisory for mitigations.
References
- https://github.com/nltk/nltk
- https://github.com/nltk/nltk/blob/v3.10.2/nltk/picklesec.py#L119-L124
- https://github.com/nltk/nltk/commit/c3e37113742a1ebeeb4f2ca58941f320f98805ea
- https://www.vulncheck.com/advisories/nltk-through-remote-code-execution-via-allowlistunpickler-dotted-name-bypass
Get alerted when CVE-2026-71513 or the next vulnerability affects your stack