<?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-31T17:27:08.602379+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-113714</id>
    <title>BIT-virtualenv-2026-113714 — virtualenv: Downloaded wheel selection and caching precede verification</title>
    <updated>2026-10-31T17:27:08.604873+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, download_wheel() writes package-index downloads directly into the reusable wheel/house cache before selecting a verification target from pip's textual Saved output. With default-index digest comparison enabled, a controlled package index can inject a misleading Saved line through a discarded link's data-requires-python attribute; this forged-line variant also requires knowledge of an absolute path to the genuine bundled wheel. The wrong path can then be hashed, while a digest mismatch leaves the rejected archive in the cache for later selection without verification. A separate rejected-cache-file variant requires control over downloaded data or archive selection but not the forged-line prerequisites. Explicit custom-index exceptions are outside the promised PyPI comparison, and the issue does not independently bypass TLS or establish control of default PyPI. This issue is fixed in version 21.14.9.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/bit-virtualenv-2026-113714"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/cve-2026-113714</id>
    <title>CVE-2026-113714 — virtualenv: Downloaded wheel selection and caching precede verification</title>
    <updated>2026-10-31T17:27:08.604952+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, download_wheel() writes package-index downloads directly into the reusable wheel/house cache before selecting a verification target from pip's textual Saved output. With default-index digest comparison enabled, a controlled package index can inject a misleading Saved line through a discarded link's data-requires-python attribute; this forged-line variant also requires knowledge of an absolute path to the genuine bundled wheel. The wrong path can then be hashed, while a digest mismatch leaves the rejected archive in the cache for later selection without verification. A separate rejected-cache-file variant requires control over downloaded data or archive selection but not the forged-line prerequisites. Explicit custom-index exceptions are outside the promised PyPI comparison, and the issue does not independently bypass TLS or establish control of default PyPI. This issue is fixed in version 21.14.9.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-113714"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-494p-63j8-28p3</id>
    <title>GHSA-494p-63j8-28p3 — virtualenv: Downloaded wheel selection and caching precede verification</title>
    <updated>2026-10-31T17:27:08.604995+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>Wheel downloads go directly into the reusable wheelhouse, while the verification target is selected from pip's textual
output. A verification failure does not remove the downloaded file from that cache.</p>
<p>Anthropic's OSS Scanner reported this as `ANT-2026-ST00DRO3` in `virtualenv-20261015-005`, received on 15 October 2026.</p>
<p>## Affected area</p>
<p>Download selection and promotion into the reusable wheel cache.</p>
<p>## Attacker-controlled input</p>
<p>A download must fail verification, or the archive selected from pip output must differ from the file later reused.
Default-index digest verification must be enabled. Existing custom-index exceptions are outside the promised PyPI
comparison.</p>
<p>## Affected code</p>
<p>The relevant 21.14.8 source is in
[wheel download and digest check](https://github.com/pypa/virtualenv/blob/a795ab116356afde11039cf2763d77e8a06da738/src/virtualenv/seed/wheels/acquire.py).</p>
<p>## Mechanism</p>
<p>`download_wheel()` tells pip to write directly into the reusable `wheel/house` cache. It then selects a path to hash
from the first `Saved ` line in pip's stdout, rather than from the file pip actually placed there. A package index can
inject such a line through a discarded link's `data-requires-python` attribute. A separate failure exists without the
forged line: a digest mismatch raises after the downloaded wheel has entered the cache, and the rejected bytes remain
there. Later wheel selection does not hash the cached file again.</p>
<p>## Reproduction and evidence</p>
<p>The scanner used…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-494p-63j8-28p3"/>
  </entry>
</feed>
