<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-22T18:21:00.865820+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/cve-2026-113726</id>
    <title>CVE-2026-113726 — virtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST</title>
    <updated>2026-10-22T18:21:00.867386+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> pypa virtualenv</p>
<p>virtualenv is a tool for creating isolated virtual python environments. Prior to 21.13.0, the bash activate script that zsh also sources leaves the environment name unescaped; from 21.13.0 until 21.14.4, it escapes backslashes, dollar signs, and backticks only when BASH_VERSION is set, so zsh receives the raw value. The script assigns that value to PS1. In zsh with PROMPT_SUBST, an attacker-influenced environment directory, --prompt, or VIRTUALENV_PROMPT value containing command, parameter, or arithmetic expansion syntax can therefore execute commands in the user's shell each time the prompt is drawn. A percent sign is separately interpreted as a zsh prompt escape but does not by itself execute commands. Plain zsh with PROMPT_SUBST disabled and bash are not affected by this mechanism. This issue is fixed in version 21.14.4.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-113726"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-5vjq-rrrf-7h2q</id>
    <title>GHSA-5vjq-rrrf-7h2q — virtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST</title>
    <updated>2026-10-22T18:21:00.867479+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: virtualenv</p>
<p>### Impact</p>
<p>zsh users activate an environment with the bash `activate` script, which puts the environment name into `PS1`. Since
21.13.0 the script escapes backslashes, dollar signs and backticks in that name, but only when `BASH_VERSION` is set, so
zsh gets the raw value. With the `PROMPT_SUBST` option set, zsh runs parameter expansion, command substitution and
arithmetic expansion on `PS1` each time it draws the prompt. A name that contains `$(...)`, backticks or `${...}` then
runs as commands in the user's shell, once per prompt.</p>
<p>The name comes from the environment directory, or from `--prompt` or `VIRTUALENV_PROMPT`. After you create an
environment with:</p>
<p>```console
$ virtualenv 'x$(touch PWNED)y'
```</p>
<p>`source 'x$(touch PWNED)y/bin/activate'` in a zsh session with `PROMPT_SUBST` set creates `PWNED`, and the prompt shows
`(xy)`. Passing that value as `--prompt` to an environment with a plain name has the same effect. Without
`PROMPT_SUBST`, zsh shows the name as text and runs nothing. bash runs nothing either.</p>
<p>A plain zsh starts with `PROMPT_SUBST` off. oh-my-zsh users have it on: oh-my-zsh loads
[`lib/theme-and-appearance.zsh`](https://github.com/ohmyzsh/ohmyzsh/blob/4d4cfc287e9d887b81242c0e431b5f49f9cec5c1/lib/theme-and-appearance.zsh#L5)
at startup, and that file sets it. 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.…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-5vjq-rrrf-7h2q"/>
  </entry>
</feed>
