CVE-2026-79657 NLTK before 3.10.3 Remote Code Execution via Unsafe Pickle Deserialization

Critical 9.3 Published Updated

Attackers can execute arbitrary code by crafting malicious pickle payloads that exploit unsafe deserialization in NLTK's allowlisted loaders.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-79657?

CVE-2026-79657 is a critical unsafe deserialization vulnerability in nltk, published on 25 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

NLTK versions before 3.10.3 contain a remote code execution vulnerability in allowlisted pickle loaders that trust entire module namespaces instead of specific safe callables. Attackers can craft malicious pickle payloads invoking dangerous in-namespace functions like ReppTokenizer._execute and numpy.f2py.crackfortran.myeval through pickle REDUCE to execute arbitrary commands during model or tokenizer artifact loading.

Weakness: CWE-502

Which versions are affected by CVE-2026-79657?

3 open source packages ship an affected version, including nltk. It affects 1 product.

PackageAffectedFixed in
nltk PyPIAll versions3.10.3
nltk PyPIAll versions3.10.3
nltk PyPIAll versions3.10.3

Products include Nltk Nltk.

How do I fix CVE-2026-79657?

Upgrade nltk to 3.10.3 or later.

Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.

Is CVE-2026-79657 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-79657 exists.

Sources

Also known as DEBIAN-CVE-2026-79657, ECHO-68fb-b254-885c, GHSA-x99w-6fgc-pmfw, MINI-5j8f-vxr3-xc66, PYSEC-2026-3735, UBUNTU-CVE-2026-79657.

Is CVE-2026-79657 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free