CVE-2024-39705: ntlk unsafe deserialization vulnerability
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.80147%
CWE
Published
6/28/2024
Updated
1/21/2025
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| nltk | pip | < 3.9 | 3.9 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from NLTK's use of pickle to deserialize model files downloaded via its data package system. Key evidence includes:
- The patch explicitly removes pickled model support
- CWE-502 (Deserialization) is listed
- The affected components (averaged_perceptron_tagger/punkt) are model loaders
- The nltk.data.load function is the primary deserialization entry point
- PerceptronTagger.load is specifically mentioned in documentation as using pickled models
- The exploit requires both download functionality (which fetches untrusted data) and deserialization (which executes code)