Virtualenv
Approved changes feed: RSS · Atom
cpe:2.3:a:pypa:virtualenv:*:*:*:*:*:*:*:*part: a version: * update: *
| Vendor | Pypa (739c9845-1cbb-5295-8ee1-7cab8d3119b1) |
|---|---|
| Product | Virtualenv (7a897016-3615-5fba-9824-38fd3a7a088c) |
| Edition | * |
| Language | * |
| Software edition | * |
| Target software | * |
| Target hardware | * |
| Other | * |
Notes
Imported from gcve-enriched-dumps CVE data
PURL mappings
| PURL | Source | Last updated |
|---|---|---|
| No PURL mappings for this CPE yet. | ||
Vulnerability references
| Identifier | cpeApplicability | Submitted | db.gcve.eu details | Rationale |
|---|---|---|---|---|
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 |
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 |
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 |
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 |
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 |
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 this panel to browse, search, copy or download the JSON record.