<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>NLTK (3.10.0) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/nltk-3.10.0/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Sat, 22 Aug 2026 15:31:03 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/nltk-3.10.0/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Remote Code Execution in NLTK AllowlistUnpickler</title><link>https://feed.craftedsignal.io/briefs/2026-08-nltk-rce/</link><pubDate>Sat, 22 Aug 2026 15:31:03 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-nltk-rce/</guid><description>NLTK versions prior to 3.10.3 are vulnerable to remote code execution due to improper validation of dotted names during the unpickling of transition-parser models.</description><content:encoded><![CDATA[<p>NLTK (Natural Language Toolkit) versions before 3.10.3 contain a remote code execution vulnerability in the AllowlistUnpickler component. The vulnerability, tracked as CVE-2026-71513, stems from insufficient validation logic; while the component validates the pickle module string, it fails to validate the global name. This oversight allows an attacker to resolve dotted names via attribute traversal, successfully bypassing the allowlist.</p>
<p>By crafting and providing a malicious transition-parser model, an attacker can trigger arbitrary command execution when the <code>TransitionParser.parse</code> method invokes <code>allowlisted_pickle_load</code>. Because this involves the deserialization of untrusted data (CWE-502), any application utilizing NLTK to load untrusted transition-parser models is at risk. Defenders should prioritize updating NLTK to version 3.10.3 or later to remediate the flaw in the underlying pickle security logic.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker generates a malicious transition-parser model file using crafted pickle payloads.</li>
<li>Attacker leverages attribute traversal to reference callables outside the intended allowlisted namespace.</li>
<li>Attacker delivers the malicious model to a target application that uses the NLTK library.</li>
<li>Target application invokes the <code>TransitionParser.parse</code> function, which subsequently calls <code>allowlisted_pickle_load</code>.</li>
<li>The <code>AllowlistUnpickler</code> fails to perform validation on the global name during deserialization.</li>
<li>The pickle loader executes the attacker-supplied malicious callable.</li>
<li>Arbitrary code executes within the context of the application process, leading to full system compromise or exfiltration.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for remote code execution, which can lead to complete compromise of the affected application environment. Given the widespread use of NLTK in data science and NLP pipelines, this vulnerability could impact numerous downstream services and automated systems that process user-provided model files. The CVSS 3.1 base score of 8.8 indicates a high severity rating with potential for full confidentiality, integrity, and availability impact.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritized actions for security and engineering teams:</p>
<ul>
<li>Upgrade NLTK to version 3.10.3 or later across all environments where natural language processing tasks are performed.</li>
<li>Audit existing infrastructure to identify applications that load externally provided transition-parser models.</li>
<li>Implement strict input validation and sandboxing for any component that processes serialized Python objects or untrusted model files.</li>
<li>Monitor application logs for unexpected process spawns or network connections originating from Python environments using NLTK.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category></item></channel></rss>