HIGH8.8
GHSA-5gh2-94qg-qppq
NLTK AllowlistUnpickler dotted-name validation bypass allows remote code execution
Quick fix
GHSA-5gh2-94qg-qppq — nltk: upgrade to the fixed version with the command below.
pip install --upgrade 'nltk>=3.10.3'Details
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.
Are you affected?
Enter the version of the package you're using.
Affected packages
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]