<?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>Virtualenv (&lt; 21.14.9) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/virtualenv--21.14.9/</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>Tue, 20 Oct 2026 21:56:26 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/virtualenv--21.14.9/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>Python virtualenv: POSIX console script command injection (CVE-2026-113722)</title><link>https://feed.craftedsignal.io/briefs/2026-10-virtualenv-command-injection/</link><pubDate>Tue, 20 Oct 2026 21:56:26 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-virtualenv-command-injection/</guid><description>A command injection vulnerability in virtualenv prior to 21.14.9 allows arbitrary code execution via malformed interpreter paths when generating POSIX console scripts.</description><content:encoded><![CDATA[<p>The virtualenv tool, used for creating isolated Python environments, contains a command injection vulnerability (CVE-2026-113722) resulting from improper quoting of interpreter paths. When virtualenv or pip utilizes distlib to generate POSIX console scripts, specific conditions involving interpreter path strings - specifically those containing spaces or triggering shebangs exceeding 127 bytes - cause distlib to generate a /bin/sh wrapper. This wrapper fails to sufficiently quote the interpreter path, permitting the evaluation of command substitutions and backticks contained within the path.</p>
<p>An attacker who can control the destination path of a virtual environment creation process can force the execution of arbitrary commands under the privileges of the user who subsequently runs the generated launcher. This vulnerability affects systems utilizing virtualenv versions prior to 21.14.9. Notably, simply upgrading the virtualenv package does not remediate existing vulnerable launchers; they must be explicitly regenerated. Furthermore, independent pip operations may reintroduce the flaw due to vendored versions of distlib, requiring consistent environment management practices.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows local command injection when a user executes a generated launcher within a maliciously constructed or influenced environment path. This primarily impacts developers and automated build systems that rely on virtualenv to manage project dependencies on Linux and macOS environments. The scope includes any workflow where an attacker can influence the filesystem structure or environment creation parameters.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade virtualenv to version 21.14.9 or later immediately to patch the script generation logic.</li>
<li>Regenerate all existing virtual environments and associated launchers after applying the patch, as upgrading the base package does not automatically remediate legacy launchers.</li>
<li>Audit build pipelines and automation scripts that define environment paths to ensure they do not incorporate untrusted or externally influenced input strings that could contain spaces or shell metacharacters.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>vulnerability</category><category>python</category><category>command-injection</category></item></channel></rss>