<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 22 Oct 2026 22:04:24 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-113732 — virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote</title>
      <link>https://db.gcve.eu/vuln/cve-2026-113732</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pypa virtualenv&lt;/p&gt;
&lt;p&gt;virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.2, FishActivator inherits ViaTemplateActivator.quote(), which uses POSIX shlex.quote() even though fish interprets backslashes and single quotes differently. An attacker-influenced environment path, --prompt, or VIRTUALENV_PROMPT value containing a backslash before a quote can therefore terminate the generated fish literal and execute command substitution when the user sources activate.fish. This issue is fixed in version 21.14.2.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pypa virtualenv&lt;/p&gt;
&lt;p&gt;virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.2, FishActivator inherits ViaTemplateActivator.quote(), which uses POSIX shlex.quote() even though fish interprets backslashes and single quotes differently. An attacker-influenced environment path, --prompt, or VIRTUALENV_PROMPT value containing a backslash before a quote can therefore terminate the generated fish literal and execute command substitution when the user sources activate.fish. This issue is fixed in version 21.14.2.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-113732</guid>
    </item>
    <item>
      <title>GHSA-c947-3pg5-gm8q — virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote</title>
      <link>https://db.gcve.eu/vuln/ghsa-c947-3pg5-gm8q</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: virtualenv&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;`FishActivator` defines no `quote()`, so it inherits `ViaTemplateActivator.quote`, which returns `shlex.quote(string)`. That function follows POSIX `sh` rules, where a backslash inside single quotes stays a literal character. fish reads `\&amp;#39;` inside single quotes as an escaped quote and `\\` as an escaped backslash. A value with a backslash before a quote therefore ends the literal somewhere other than where `shlex.quote` put the end, and fish expands the command substitution that follows.&lt;/p&gt;
&lt;p&gt;The environment path reaches `set -gx VIRTUAL_ENV`, and `--prompt` or `VIRTUALENV_PROMPT` reaches `set -gx VIRTUAL_ENV_PROMPT`. For `--prompt &amp;#34;x\&amp;#39;\$(touch PWNED)&amp;#39;\&amp;#39;&amp;#34;`, the generated `activate.fish` contains:&lt;/p&gt;
&lt;p&gt;```fish
set -gx VIRTUAL_ENV_PROMPT &amp;#39;x\&amp;#39;&amp;#34;&amp;#39;&amp;#34;&amp;#39;$(touch PWNED)&amp;#39;&amp;#34;&amp;#39;&amp;#34;&amp;#39;\&amp;#39;&amp;#34;&amp;#39;&amp;#34;&amp;#39;&amp;#39;
```&lt;/p&gt;
&lt;p&gt;`source bin/activate.fish` runs `touch PWNED`, and fish prints no error. The same payload as a directory name runs through `VIRTUAL_ENV`. `--prompt .` takes the current directory&amp;#39;s name, so running virtualenv inside a directory someone else named is enough. Without the backslash the payload runs nothing, and under bash it runs nothing either.&lt;/p&gt;
&lt;p&gt;virtualenv generates `activate.fish` by default. An attacker needs to influence the environment path or prompt: a CI job or wrapper tool that passes a branch, project or job name through, or a directory in a cloned repository or unpacked archive.&lt;/p&gt;
&lt;p&gt;The bug affects every release up to 21.14.1 that ships `activate.fish`. The GHSA-p58f-9548-mpm2 fix in 21.7.13 mov…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: virtualenv&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;`FishActivator` defines no `quote()`, so it inherits `ViaTemplateActivator.quote`, which returns `shlex.quote(string)`. That function follows POSIX `sh` rules, where a backslash inside single quotes stays a literal character. fish reads `\&amp;#39;` inside single quotes as an escaped quote and `\\` as an escaped backslash. A value with a backslash before a quote therefore ends the literal somewhere other than where `shlex.quote` put the end, and fish expands the command substitution that follows.&lt;/p&gt;
&lt;p&gt;The environment path reaches `set -gx VIRTUAL_ENV`, and `--prompt` or `VIRTUALENV_PROMPT` reaches `set -gx VIRTUAL_ENV_PROMPT`. For `--prompt &amp;#34;x\&amp;#39;\$(touch PWNED)&amp;#39;\&amp;#39;&amp;#34;`, the generated `activate.fish` contains:&lt;/p&gt;
&lt;p&gt;```fish
set -gx VIRTUAL_ENV_PROMPT &amp;#39;x\&amp;#39;&amp;#34;&amp;#39;&amp;#34;&amp;#39;$(touch PWNED)&amp;#39;&amp;#34;&amp;#39;&amp;#34;&amp;#39;\&amp;#39;&amp;#34;&amp;#39;&amp;#34;&amp;#39;&amp;#39;
```&lt;/p&gt;
&lt;p&gt;`source bin/activate.fish` runs `touch PWNED`, and fish prints no error. The same payload as a directory name runs through `VIRTUAL_ENV`. `--prompt .` takes the current directory&amp;#39;s name, so running virtualenv inside a directory someone else named is enough. Without the backslash the payload runs nothing, and under bash it runs nothing either.&lt;/p&gt;
&lt;p&gt;virtualenv generates `activate.fish` by default. An attacker needs to influence the environment path or prompt: a CI job or wrapper tool that passes a branch, project or job name through, or a directory in a cloned repository or unpacked archive.&lt;/p&gt;
&lt;p&gt;The bug affects every release up to 21.14.1 that ships `activate.fish`. The GHSA-p58f-9548-mpm2 fix in 21.7.13 mov…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-c947-3pg5-gm8q</guid>
    </item>
  </channel>
</rss>
