Approved changes feed: RSS · Atom

cpe:2.3:a:pypa:virtualenv:*:*:*:*:*:*:*:*

part: a version: * update: *

VendorPypa (739c9845-1cbb-5295-8ee1-7cab8d3119b1)
ProductVirtualenv (7a897016-3615-5fba-9824-38fd3a7a088c)
Edition*
Language*
Software edition*
Target software*
Target hardware*
Other*

Notes

Imported from gcve-enriched-dumps CVE data

PURL mappings

PURLSourceLast updated
No PURL mappings for this CPE yet.

Vulnerability references

IdentifiercpeApplicabilitySubmitteddb.gcve.eu detailsRationale
CVE:CVE-2026-113719 vulnerable 2026-11-03 10:16:27.957024 virtualenv: Seed replacement does not contain metadata deletion paths
MEDIUM (4.5)
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, PipInstall._uninstall_previous_version() accepts existing seed-package metadata and _uninstall_dist() joins entries from top_level.txt and RECORD to site-packages without checking containment. When a reused destination contains distribution metadata influenced by another account, relative traversal, absolute entries, or linked parents can cause app-data reseeding to delete files outside the environment or the environment root with the invoking user's permissions, provided that user has deletion rights over the named paths. The deletion occurs during environment creation before any later use of the environment. Fresh environments without existing package metadata and creation with --clear do not enter this cleanup path. This issue is fixed in version 21.14.9.
Published: 2026-10-20T19:42:07.523Z
Updated: 2026-10-27T11:01:51.649Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113715 vulnerable 2026-11-03 10:16:27.742741 virtualenv: Venv configuration readback can reinterpret path boundaries
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the stdlib venv creator reads generated pyvenv.cfg with str.splitlines() and merges parsed keys over virtualenv's selected configuration. An untrusted caller who influences the destination pathname can include a line-boundary character such as U+2028 to inject keys including home and include-system-site-packages, causing path data to change configuration structure before final output. Setting include-system-site-packages to true weakens environment isolation, while an altered home can change which standard-library files the interpreter loads if the attacker also controls that location. The builtin creator does not use this readback path. This issue is fixed in version 21.14.9.
Published: 2026-10-20T19:42:55.011Z
Updated: 2026-10-23T02:01:48.925Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113724 vulnerable 2026-11-03 10:16:27.730980 virtualenv: Deletion recovery can change a symlink target's mode
MEDIUM (4.5)
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the safe_delete() deletion error handler responds to a failed removal by reading mode bits with os.lstat(path) and applying owner-write permission with os.chmod(path, ...), which follows a symlink. A planted link inside a read-only directory can therefore cause a victim-owned target outside the destination that is initially not writable by the invoking user to become broadly writable before the retry fails, provided that user owns the target and can change its mode. Another account can use the widened mode only if it can traverse the target's parent directories; root does not reach the demonstrated failure path, and the operation does not itself read the target. This issue is fixed in version 21.14.9.
Published: 2026-10-20T19:53:29.357Z
Updated: 2026-10-27T11:02:51.974Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113720 vulnerable 2026-11-03 10:16:27.679306 virtualenv: Seeded files retain permissions from an older cache
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.
Published: 2026-10-20T19:43:32.451Z
Updated: 2026-10-21T15:52:33.658Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113776 vulnerable 2026-11-03 10:16:27.616041 virtualenv activation scripts run code from a path that contains a placeholder name
HIGH (7.8)
virtualenv is a tool for creating isolated virtual python environments. From 20.26.6 until 21.14.2, ViaTemplateActivator.instantiate_template() replaces placeholders one key at a time across the complete activation template, so trigger names such as __VIRTUAL_NAME__, __VIRTUAL_ENV__, or __VIRTUAL_PROMPT__ inside an already substituted and quoted environment path or prompt can be replaced during a later pass. The later value's quoting can close the earlier literal and execute the remaining path when a user activates the environment through bash, fish, xonsh, or activate_this.py. The distinct csh prompt-display token __VIRTUAL_PROMPT_DISPLAY_TCSH__ can instead break the generated script without establishing command execution. The attacker must influence the destination path or --prompt, and a value without a relevant placeholder name does not trigger this mechanism. This issue is fixed in version 21.14.2.
Published: 2026-10-20T22:03:18.274Z
Updated: 2026-10-28T14:54:19.776Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113714 vulnerable 2026-11-03 10:16:27.583780 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113725 vulnerable 2026-11-03 10:16:27.573585 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113721 vulnerable 2026-11-03 10:16:27.533191 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113718 vulnerable 2026-11-03 10:16:27.465807 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113716 vulnerable 2026-11-03 10:16:27.420800 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113723 vulnerable 2026-11-03 10:16:27.386827 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113732 vulnerable 2026-11-03 10:16:27.115824 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113717 vulnerable 2026-11-03 10:16:27.056334 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113722 vulnerable 2026-11-03 10:16:27.019140 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-113713 vulnerable 2026-11-03 10:16:27.013115 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-115586 vulnerable 2026-11-03 10:15:37.363442 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-22702 vulnerable 2026-06-08 07:51:13.638005 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data

Contribute

You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.

Inspect record JSON

Open JSON directly

Open this panel to browse, search, copy or download the JSON record.