<?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-22T23:15:31.050735+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/brew-charm-tools-cve-2026-113722</id>
    <title>BREW-charm-tools-CVE-2026-113722 — virtualenv: Generated POSIX console launchers interpret destination paths as shell syntax</title>
    <updated>2026-10-22T23:15:31.135040+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Homebrew: charm-tools</p>
<p>## Summary</p>
<p>A destination path supplied to virtualenv can be interpreted as shell syntax by a generated POSIX console launcher. The
app-data seeder and pip delegate launcher generation to distlib but supply the interpreter path in a form that does not
preserve it as literal data in the shell wrapper.</p>
<p>## Affected area</p>
<p>POSIX console scripts generated by the app-data seeder or pip when the interpreter path requires a shell wrapper.
Windows executable launchers are not affected by this path.</p>
<p>## Attacker-controlled input</p>
<p>An attacker must influence the environment destination passed to virtualenv, and the user must subsequently run a
generated launcher. The attacker does not need to modify an installed executable or control the user's app-data cache.</p>
<p>## Affected code</p>
<p>The relevant 21.14.8 source is in
[ScriptMakerCustom](https://github.com/pypa/virtualenv/blob/a795ab116356afde11039cf2763d77e8a06da738/src/virtualenv/seed/embed/via_app_data/pip_install/base.py).</p>
<p>## Mechanism</p>
<p>The app-data seeder passes the environment's interpreter path through `enquote_executable()` to distlib's `ScriptMaker`.
It adds double quotes for a path with a space but does not escape shell expansions inside those quotes. When the path
has a space or the shebang exceeds 127 bytes, distlib emits a `#!/bin/sh` wrapper with a line shaped like
`'''exec' "&lt;path&gt;" "$0" "$@"`. The shell expands `$(...)` and backticks in that path when the launcher is run. The same
wrapper must also parse as Python, which expo…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/brew-charm-tools-cve-2026-113722"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/fkie_cve-2026-113722</id>
    <title>fkie_cve-2026-113722</title>
    <updated>2026-10-22T23:15:31.135189+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, virtualenv's ScriptMakerCustom and pip pass an incompletely quoted interpreter path to distlib ScriptMaker when generating POSIX console scripts. When the path contains a space or produces a shebang longer than 127 bytes, distlib emits a /bin/sh wrapper whose double-quoted interpreter path still expands command substitutions and backticks. An attacker who influences the environment destination can therefore execute commands with the user's privileges when the user later runs a generated launcher; environment creation and activation do not trigger the command. Existing launchers are not repaired by upgrading virtualenv alone and must be regenerated, while a later independent pip installation or upgrade can reintroduce an affected launcher because pip's vendored distlib is unchanged. The virtualenv fix is released in version 21.14.9.</p>
      </div>
    </content>
    <link href="https://db.gcve.eu/vuln/fkie_cve-2026-113722"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-c978-59m8-c77v</id>
    <title>GHSA-c978-59m8-c77v — virtualenv: Generated POSIX console launchers interpret destination paths as shell syntax</title>
    <updated>2026-10-22T23:15:31.135232+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: virtualenv</p>
<p>## Summary</p>
<p>A destination path supplied to virtualenv can be interpreted as shell syntax by a generated POSIX console launcher. The
app-data seeder and pip delegate launcher generation to distlib but supply the interpreter path in a form that does not
preserve it as literal data in the shell wrapper.</p>
<p>## Affected area</p>
<p>POSIX console scripts generated by the app-data seeder or pip when the interpreter path requires a shell wrapper.
Windows executable launchers are not affected by this path.</p>
<p>## Attacker-controlled input</p>
<p>An attacker must influence the environment destination passed to virtualenv, and the user must subsequently run a
generated launcher. The attacker does not need to modify an installed executable or control the user's app-data cache.</p>
<p>## Affected code</p>
<p>The relevant 21.14.8 source is in
[ScriptMakerCustom](https://github.com/pypa/virtualenv/blob/a795ab116356afde11039cf2763d77e8a06da738/src/virtualenv/seed/embed/via_app_data/pip_install/base.py).</p>
<p>## Mechanism</p>
<p>The app-data seeder passes the environment's interpreter path through `enquote_executable()` to distlib's `ScriptMaker`.
It adds double quotes for a path with a space but does not escape shell expansions inside those quotes. When the path
has a space or the shebang exceeds 127 bytes, distlib emits a `#!/bin/sh` wrapper with a line shaped like
`'''exec' "&lt;path&gt;" "$0" "$@"`. The shell expands `$(...)` and backticks in that path when the launcher is run. The same
wrapper must also parse as Python, which expo…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-c978-59m8-c77v"/>
  </entry>
</feed>
