Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-78683— NLTK before 3.10.0 Remote Code Execution via Unsafe Pickle Deserialization

Quick assessment

Affected
nltk nltk
Exploitation
Public or AI PoC available; prioritize validation
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

NLTK 3.10.0 之前版本(受影响版本为 <=3.9.4)在 TransitionParser.parse() 方法(位于 nltk/parse/transitionparser.py)中存在不安全的 pickle 反序列化漏洞。该方法调用 pickle_load() 时使用了默认的 restricted=False 参数,将反序列化过程路由至 WarningUnpickler,而该类并未重写 find_class() 方法,因此允许任意类解析。当应用程序加载攻击者构造的模型文件时,内嵌的 pickle ga

CVSS 9.6 · Critical EPSS 0.28% · P19

Possible ATT&CK Techniques 1 AI

T1210 · Exploitation of Remote Services

Affected Version Matrix 2

VendorProduct Version RangeStatus
nltk nltk < 3.10.0 affected
3.10.0 unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-78683

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
NLTK before 3.10.0 Remote Code Execution via Unsafe Pickle Deserialization
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
可信数据的反序列化
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
nltk nltk 0 ~ 3.10.0 -

II. Public POCs for CVE-2026-78683

# POC Description Source Link Shenlong Link
AI-Generated POC Premium
Qwen3.6-35B-A3B · 7790 chars
Pro+ exclusive includes:
Vulnerability reproduction recording (real sandbox build + trigger, exclusive)
In-depth vulnerability mechanism
Trigger conditions & impact
Full executable POC code
Exploit chain & mitigation
POC zip download
100+ AI POC generations per month

III. Intelligence Information for CVE-2026-78683

登录查看更多情报信息。

Vendor Advisories for CVE-2026-78683 (2)

Same Patch Batch · nltk · 2026-08-25 · 8 CVEs total

CVE-2026-79657 9.8 CRITICAL NLTK before 3.10.3 Remote Code Execution via Unsafe Pickle Deserialization
CVE-2026-79675 9.8 CRITICAL NLTK before 3.10.3 JVM Argument Injection via Per-Call Options
CVE-2026-79674 8.2 HIGH NLTK 3.10.2 Path Traversal via corpus-reader constructors
CVE-2026-78680 7.8 HIGH NLTK before 3.10.3 Arbitrary Code Execution via Graphviz dot Binary
CVE-2026-78681 7.5 HIGH NLTK before 3.10.3 Entity Expansion DoS via ElementTree
CVE-2026-78682 7.5 HIGH NLTK before 3.10.3 SSRF Protection Bypass via Proxy
CVE-2026-79676 5.9 MEDIUM NLTK before 3.10.3 Path Traversal via Symlink Bypass

IV. Related Vulnerabilities

V. Comments for CVE-2026-78683

No comments yet


Leave a comment