<?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>Sat, 31 Oct 2026 16:19:05 +0000</lastBuildDate>
    <item>
      <title>BIT-virtualenv-2026-113720 — virtualenv: Seeded files retain permissions from an older cache</title>
      <link>https://db.gcve.eu/vuln/bit-virtualenv-2026-113720</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Bitnami: virtualenv&lt;/p&gt;
&lt;p&gt;virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the app-data copy seeder uses shutil.copy() to copy cached package files into later environments, causing cached source modes to override the current run&amp;#39;s umask. A cache populated under a permissive umask can therefore produce files writable by another local account in a later traversable environment, allowing package code such as pip/__init__.py to be modified and executed by the environment owner. The attacker cannot force the earlier umask, and a private destination parent prevents access. This issue is fixed in version 21.14.9.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Bitnami: virtualenv&lt;/p&gt;
&lt;p&gt;virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the app-data copy seeder uses shutil.copy() to copy cached package files into later environments, causing cached source modes to override the current run&amp;#39;s umask. A cache populated under a permissive umask can therefore produce files writable by another local account in a later traversable environment, allowing package code such as pip/__init__.py to be modified and executed by the environment owner. The attacker cannot force the earlier umask, and a private destination parent prevents access. This issue is fixed in version 21.14.9.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/bit-virtualenv-2026-113720</guid>
    </item>
    <item>
      <title>CVE-2026-113720 — virtualenv: Seeded files retain permissions from an older cache</title>
      <link>https://db.gcve.eu/vuln/cve-2026-113720</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.9, the app-data copy seeder uses shutil.copy() to copy cached package files into later environments, causing cached source modes to override the current run&amp;#39;s umask. A cache populated under a permissive umask can therefore produce files writable by another local account in a later traversable environment, allowing package code such as pip/__init__.py to be modified and executed by the environment owner. The attacker cannot force the earlier umask, and a private destination parent prevents access. This issue is fixed in version 21.14.9.&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.9, the app-data copy seeder uses shutil.copy() to copy cached package files into later environments, causing cached source modes to override the current run&amp;#39;s umask. A cache populated under a permissive umask can therefore produce files writable by another local account in a later traversable environment, allowing package code such as pip/__init__.py to be modified and executed by the environment owner. The attacker cannot force the earlier umask, and a private destination parent prevents access. This issue is fixed in version 21.14.9.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-113720</guid>
    </item>
    <item>
      <title>GHSA-fc2g-4w5p-6whm — virtualenv: Seeded files retain permissions from an older cache</title>
      <link>https://db.gcve.eu/vuln/ghsa-fc2g-4w5p-6whm</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: virtualenv&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The app-data copy seeder uses shutil.copy, which preserves cached file modes independently of the current umask. A cache
populated under permissive permissions can therefore produce files with wider access in later environments.&lt;/p&gt;
&lt;p&gt;Anthropic&amp;#39;s OSS Scanner reported this as `ANT-2026-487MH6OW` in `virtualenv-20261015-005`, received on 15 October 2026.&lt;/p&gt;
&lt;p&gt;## Affected area&lt;/p&gt;
&lt;p&gt;Permissions of files copied from app-data into a new environment.&lt;/p&gt;
&lt;p&gt;## Attacker-controlled input&lt;/p&gt;
&lt;p&gt;The cache must contain files created with broader permissions than the current environment creator intends. Another
account must also be able to traverse the new environment and reach those files. A private parent directory prevents
that access. No control of a private live cache is assumed.&lt;/p&gt;
&lt;p&gt;## Affected code&lt;/p&gt;
&lt;p&gt;The relevant 21.14.8 source is in
[copy helpers](https://github.com/pypa/virtualenv/blob/a795ab116356afde11039cf2763d77e8a06da738/src/virtualenv/util/path/_sync.py).&lt;/p&gt;
&lt;p&gt;## Mechanism&lt;/p&gt;
&lt;p&gt;The default app-data seeder extracts a wheel into a reusable cache and copies its files into later environments with
`shutil.copy()`. That function applies the cached source mode to each destination file after creating it, overriding the
current run&amp;#39;s umask. If the cache image was built under umask `000`, a later environment created under umask `022` can
receive mode-`0666` pip files. The cache may be private while the new environment is reachable by other local accounts.&lt;/p&gt;
&lt;p&gt;## Reproduction and evidence&lt;/p&gt;
&lt;p&gt;The scanner created…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: virtualenv&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The app-data copy seeder uses shutil.copy, which preserves cached file modes independently of the current umask. A cache
populated under permissive permissions can therefore produce files with wider access in later environments.&lt;/p&gt;
&lt;p&gt;Anthropic&amp;#39;s OSS Scanner reported this as `ANT-2026-487MH6OW` in `virtualenv-20261015-005`, received on 15 October 2026.&lt;/p&gt;
&lt;p&gt;## Affected area&lt;/p&gt;
&lt;p&gt;Permissions of files copied from app-data into a new environment.&lt;/p&gt;
&lt;p&gt;## Attacker-controlled input&lt;/p&gt;
&lt;p&gt;The cache must contain files created with broader permissions than the current environment creator intends. Another
account must also be able to traverse the new environment and reach those files. A private parent directory prevents
that access. No control of a private live cache is assumed.&lt;/p&gt;
&lt;p&gt;## Affected code&lt;/p&gt;
&lt;p&gt;The relevant 21.14.8 source is in
[copy helpers](https://github.com/pypa/virtualenv/blob/a795ab116356afde11039cf2763d77e8a06da738/src/virtualenv/util/path/_sync.py).&lt;/p&gt;
&lt;p&gt;## Mechanism&lt;/p&gt;
&lt;p&gt;The default app-data seeder extracts a wheel into a reusable cache and copies its files into later environments with
`shutil.copy()`. That function applies the cached source mode to each destination file after creating it, overriding the
current run&amp;#39;s umask. If the cache image was built under umask `000`, a later environment created under umask `022` can
receive mode-`0666` pip files. The cache may be private while the new environment is reachable by other local accounts.&lt;/p&gt;
&lt;p&gt;## Reproduction and evidence&lt;/p&gt;
&lt;p&gt;The scanner created…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-fc2g-4w5p-6whm</guid>
    </item>
  </channel>
</rss>
