CVE-2026-78683

NLTK before 3.10.0 (affected versions <=3.9.4) contains an unsafe pickle deserialization vulnerability in the TransitionParser.parse() method (nltk/parse/transitionparser.py). The method calls pickle_load() with the default restricted=False, routing deserialization through WarningUnpickler, which does not override find_class() and therefore permits arbitrary class resolution. When an application loads an attacker-crafted model file, embedded pickle gadget chains execute arbitrary Python code with the privileges of the user running the application. NLTK provides a RestrictedUnpickler for safe deserialization, but it is not used by production code paths. Fixed in 3.10.0.
Configurations

Configuration 1 (hide)

cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*

History

12 Oct 2026, 17:10

Type Values Removed Values Added
Summary
  • (es) NLTK anterior a 3.10.0 (versiones afectadas menor o igual que 3.9.4) contiene una vulnerabilidad de deserialización pickle insegura en el método TransitionParser.parse() (nltk/parse/transitionparser.py). El método llama a pickle_load() con el valor predeterminado restricted=False, dirigiendo la deserialización a través de WarningUnpickler, que no anula find_class() y, por lo tanto, permite la resolución arbitraria de clases. Cuyo una aplicación carga un archivo de modelo creado por un atacante, las cadenas de gadgets pickle incrustadas ejecutan código Python arbitrario con los privilegios del usuario que ejecuta la aplicación. NLTK proporciona un RestrictedUnpickler para una deserialización segura, pero no es utilizado por las rutas de código de producción. Corregido en 3.10.0.

Information

Published : 2026-08-25 02:16

Updated : 2026-10-12 17:10


NVD link : CVE-2026-78683

Mitre link : CVE-2026-78683

CVE.ORG link : CVE-2026-78683


JSON object : View

Products Affected

nltk

  • nltk
CWE
CWE-502

Deserialization of Untrusted Data