CVE-2024-39705
Published: 27 June 2024
Summary
CVE-2024-39705 is a critical-severity Deserialization of Untrusted Data (CWE-502) vulnerability in Vicarius (inferred from references). Its CVSS base score is 9.8 (Critical).
Operationally, ranked in the top 6.5% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
Deeper analysis
NLTK through version 3.8.1 is affected by a deserialization vulnerability (CWE-502) that permits remote code execution when the library's integrated data package download functionality processes untrusted packages containing pickled Python objects. The issue impacts common components such as averaged_perceptron_tagger and punkt, and carries a CVSS 3.1 score of 9.8 reflecting network-accessible attack conditions with no required privileges or user interaction.
An unauthenticated remote attacker can supply a malicious package that is fetched and deserialized by NLTK, resulting in arbitrary code execution on the target system with full confidentiality, integrity, and availability impact. The attack relies on the library's default handling of downloaded data resources rather than any authenticated or local vector.
References including GitHub issues 2522 and 3266 along with related analysis discuss the root cause in the pickle-based loading path but do not detail released patches or configuration workarounds. The associated EPSS score has remained near 0.11 with only minimal variation between its recorded peak and current value, providing no indication of sharply rising exploitation interest after disclosure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2024-0118
Vulnerability details
NLTK through 3.8.1 allows remote code execution if untrusted packages have pickled Python code, and the integrated data package download functionality is used. This affects, for example, averaged_perceptron_tagger and punkt.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Penetration testing supplies malicious serialized objects, detecting unsafe deserialization and supporting corrective actions.
Evaluation of untrusted data handling (deserialization testing) reveals unsafe processing, which the required remediation process addresses.
Untrusted serialized data can be deserialized and observed inside the chamber, blocking gadget-chain exploitation outside the sandbox.
Validates or rejects untrusted serialized data before deserialization occurs.
Identifies and blocks malicious code introduced through deserialization of untrusted data at system boundaries.
Integrity verification of serialized information can detect tampering before deserialization occurs.
Provenance of associated data allows detection of untrusted sources before deserialization or processing occurs.