CVE-2026-79657 / GHSA-vp9c-2pjm-8925: NLTK before 3.10.3 — pickle loaders trusted whole module namespaces; loading untrusted model/tokenizer artifacts could lead to RCE. Defense: upgrade ≥3.10.3, no untrusted pickles, verified provenance. Not investment advice.
If you load NLTK model or tokenizer artifacts after work, treat CVE-2026-79657 / GHSA-vp9c-2pjm-8925 as an ops hygiene ticket — not a weekend exploit lab. Public advisories describe NLTK before 3.10.3: allowlisted pickle loaders trusted whole module namespaces instead of specific safe callables, so loading untrusted model/tokenizer artifacts could lead to remote code execution. Related NLTK advisory: GHSA-x99w-6fgc-pmfw. Also see VulnCheck. This post is defense only.
The only course CTA is Introduction to Python Programming.
1. Upgrade NLTK to ≥ 3.10.3.
python -c "import importlib.metadata as m; print(m.version('nltk'))" 2>/dev/null || pip show nltk | sed -n '1,3p'
pip install -U "nltk>=3.10.3"
2. Do not load untrusted pickle / model / tokenizer artifacts. Treat shared .pkl trees and unknown download URLs as hostile until provenance is clear.
3. Prefer verified provenance and checksums for any third-party NLTK-compatible artifact (official package data, pinned hashes in your lockfile, or a known-good internal mirror — not a random Drive link).
4. Isolate least-privilege environments for artifact loading when you must open third-party files (separate venv / container / non-admin user). Patching the package still comes first.
| Situation | Safer default |
|---|---|
| Personal NLP notebook | Upgrade to nltk>=3.10.3; load only artifacts you wrote |
| Shared model drop folder | Lock down writes; upgrade every consumer |
| Unknown third-party tokenizer pickle | Do not load until provenance + checksum check out |
Check your nltk version and upgrade if below 3.10.3. If Python packaging is the blocker, Introduction to Python Programming.