GitHub Advisoryadvisory · PyPI
GHSA-5gh2-94qg-qppq NLTK AllowlistUnpickler dotted-name validation bypass allows remote code execution
HIGH
Official page ↗
- Aliases
- CVE-2026-71513
- Ecosystem
- PyPI
- Packages
- nltk
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-502
- Reviewed
- 2026-09-02
Affected packages
• PyPI nltk: >= 3.10.0, < 3.10.3 → fixed in 3.10.3
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.
Related
Alias · CVE (1)
- CVE-2026-71513 NLTK before 3.10.3 contains a remote code execution vulnerability in AllowlistUnpickler that validates only the pickle module string and… vulnerability
Weakness · CWE (1)
- CWE-502 Deserialization of Untrusted Data weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-71513 advisory
- https://github.com/nltk/nltk/commit/c3e37113742a1ebeeb4f2ca58941f320f98805ea web
- https://github.com/nltk/nltk package
- https://github.com/nltk/nltk/blob/v3.10.2/nltk/picklesec.py#L119-L124 web
- https://www.vulncheck.com/advisories/nltk-through-remote-code-execution-via-allowlistunpickler-dotted-name-bypass web