<?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-31T23:18:57.650096+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/bit-virtualenv-2026-113720</id>
    <title>BIT-virtualenv-2026-113720 — virtualenv: Seeded files retain permissions from an older cache</title>
    <updated>2026-10-31T23:18:57.653325+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Bitnami: virtualenv</p>
<p>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'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.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/bit-virtualenv-2026-113720"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/cve-2026-113720</id>
    <title>CVE-2026-113720 — virtualenv: Seeded files retain permissions from an older cache</title>
    <updated>2026-10-31T23:18:57.653424+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.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'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.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-113720"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-fc2g-4w5p-6whm</id>
    <title>GHSA-fc2g-4w5p-6whm — virtualenv: Seeded files retain permissions from an older cache</title>
    <updated>2026-10-31T23:18:57.653478+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>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.</p>
<p>Anthropic's OSS Scanner reported this as `ANT-2026-487MH6OW` in `virtualenv-20261015-005`, received on 15 October 2026.</p>
<p>## Affected area</p>
<p>Permissions of files copied from app-data into a new environment.</p>
<p>## Attacker-controlled input</p>
<p>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.</p>
<p>## Affected code</p>
<p>The relevant 21.14.8 source is in
[copy helpers](https://github.com/pypa/virtualenv/blob/a795ab116356afde11039cf2763d77e8a06da738/src/virtualenv/util/path/_sync.py).</p>
<p>## Mechanism</p>
<p>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'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.</p>
<p>## Reproduction and evidence</p>
<p>The scanner created…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-fc2g-4w5p-6whm"/>
  </entry>
</feed>
