PYSEC-2026-3867

See a problem?
Import Source
https://github.com/pypa/advisory-database/blob/main/vulns/nltk/PYSEC-2026-3867.yaml
JSON Data
https://api.osv.dev/v1/vulns/PYSEC-2026-3867
Aliases
Published
2026-09-10T09:44:53Z
Modified
2026-09-10T12:15:07Z
Severity
  • 8.8 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H CVSS Calculator
  • 8.7 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N CVSS Calculator
Summary
NLTK AllowlistUnpickler dotted-name validation bypass allows remote code execution
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.

References

Affected packages

PyPI / nltk

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.10.0
Fixed
3.10.3

Affected versions

3.*
3.10.0
3.10.1
3.10.2

Database specific

source
"https://github.com/pypa/advisory-database/blob/main/vulns/nltk/PYSEC-2026-3867.yaml"