p PatchFirst

PatchFirst · Vulnérabilités récentes

Vulnérabilités de virtualenv

Vulnérabilités publiées pour virtualenv au cours des 30 derniers jours : 21. Présentes dans le catalogue KEV : 0.

RSS ↗
Filtrer les vulnérabilités
Effacer les filtres

Vulnérabilités : 24

  1. CVE-2026-115586

    Élevée · CVSS 7.1Code d’exploitation publicCorrectif disponible

    virtualenv: Bash activator leaves the --prompt value unescaped in PS1 when promptvars is off, so prompt expansion later executes it (regression in 21.14.9)

    virtualenv is a tool for creating isolated virtual python environments. From 21.14.9 until 21.14.13, the bash bin/activate script can copy an attacker-controlled --prompt value into PS1 without escaping dollar signs or backticks when both promptvars and POSIX mode are disabled during activation. Re-enabling promptvars, running set -o posix, or starting an interactive child bash that inherits the exported PS1 can then expand command substitution in the stored VIRTUAL_ENV_PROMPT value and execute commands as the user who activates the environment. This issue is fixed in version 21.14.13.

    • Mettez à jour vers 21.14.13
    Publication Mise à jour
  2. CVE-2026-113726

    Élevée · CVSS 7.8EPSS 0,23%Correctif disponible

    virtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.13.0, the bash activate script that zsh also sources leaves the environment name unescaped; from 21.13.0 until 21.14.4, it escapes backslashes, dollar signs, and backticks only when BASH_VERSION is set, so zsh receives the raw value. The script assigns that value to PS1. In zsh with PROMPT_SUBST, an attacker-influenced environment directory, --prompt, or VIRTUALENV_PROMPT value containing command, parameter, or arithmetic expansion syntax can therefore execute commands in the user's shell each time the prompt is drawn. A percent sign is separately interpreted

    • Mettez à jour vers 21.14.4
    Publication Mise à jour
  3. CVE-2026-113776

    Élevée · CVSS 7.8EPSS 0,25%Correctif disponible

    virtualenv activation scripts run code from a path that contains a placeholder name

    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_TC

    • Mettez à jour vers 21.14.2
    Publication Mise à jour
  4. CVE-2026-113732

    Élevée · CVSS 7.8EPSS 0,21%Correctif disponible

    virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.2, FishActivator inherits ViaTemplateActivator.quote(), which uses POSIX shlex.quote() even though fish interprets backslashes and single quotes differently. An attacker-influenced environment path, --prompt, or VIRTUALENV_PROMPT value containing a backslash before a quote can therefore terminate the generated fish literal and execute command substitution when the user sources activate.fish. This issue is fixed in version 21.14.2.

    • Mettez à jour vers 21.14.2
    Publication Mise à jour
  5. CVE-2026-113725

    Élevée · CVSS 7.8EPSS 0,15%Code d’exploitation publicCorrectif disponible

    virtualenv bash activate runs commands from an environment name with a backslash before $

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.7, the bash activate script escapes the environment name for only one of the two passes bash makes over PS1, so a backslash in the name undoes the escaping and a name containing \$(...) runs as commands in the user's shell each time bash draws the prompt. This issue is fixed in version 21.14.7.

    • Mettez à jour vers 21.14.7
    Publication Mise à jour
  6. CVE-2026-113724

    Moyenne · CVSS 4.5EPSS 0,12%Correctif disponible

    virtualenv: Deletion recovery can change a symlink target's mode

    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 dire

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  7. CVE-2026-113723

    Élevée · CVSS 7.1EPSS 0,14%Correctif disponible

    virtualenv: Bash prompt values can change meaning under older compatibility modes

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, caller-supplied prompt text can become executable syntax in the bash activation prompt. An attacker must influence the value passed to virtualenv, and a user must subsequently activate the environment and draw the prompt. This vulnerability is fixed in 21.14.9.

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  8. CVE-2026-113722

    Élevée · CVSS 7.8EPSS 0,17%Correctif disponible

    virtualenv: Generated POSIX console launchers interpret destination paths as shell syntax

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, virtualenv's ScriptMakerCustom and pip pass an incompletely quoted interpreter path to distlib ScriptMaker when generating POSIX console scripts. When the path contains a space or produces a shebang longer than 127 bytes, distlib emits a /bin/sh wrapper whose double-quoted interpreter path still expands command substitutions and backticks. An attacker who influences the environment destination can therefore execute commands with the user's privileges when the user later runs a generated launcher; environment creation and activation do not trigger the com

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  9. CVE-2026-113721

    Moyenne · CVSS 4.5EPSS 0,12%Correctif disponible

    virtualenv: Generated files can follow existing destination links

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, ViaTemplateActivator._generate() removes an existing output only when Path.exists() is true, allowing a dangling symlink to survive and redirect generated activation content, while PyEnvCfg.write() opens pyvenv.cfg without first replacing an existing symbolic or hard link. Another local account that prepares final entries inside the destination can therefore cause environment creation to create or overwrite files outside the requested tree with constrained virtualenv-generated content and the invoking user's permissions. The destination parent must remai

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  10. CVE-2026-113720

    Moyenne · CVSS 4.4EPSS 0,1%Correctif disponible

    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.

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  11. CVE-2026-113715

    Faible · CVSS 2EPSS 0,14%Correctif disponible

    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 attac

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  12. CVE-2026-113719

    Moyenne · CVSS 4.5EPSS 0,12%Correctif disponible

    virtualenv: Seed replacement does not contain metadata deletion paths

    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 envi

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  13. CVE-2026-113718

    Élevée · CVSS 7.1EPSS 0,14%Correctif disponible

    virtualenv: Xonsh activation literals depend on the script decoding codec

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, POSIX xonsh activation quote() uses repr() to write printable non-ASCII prompt or destination data into UTF-8 activate.xsh, while xonsh can read that script using $XONSH_ENCODING. Under a legacy multibyte codec such as GBK or Big5, a UTF-8 trail byte can consume the backslash before an adjacent quote, allowing the literal to close and attacker-influenced statements to execute when the user sources the generated script. This issue is fixed in version 21.14.9.

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  14. CVE-2026-113717

    Faible · CVSS 2.3EPSS 0,3%Correctif disponible

    virtualenv: Pip seeding with download omits wheel digest verification

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, PipInvoke.get_pip_install_cmd() handles --seeder pip --download by calling get_wheel(download=False) and then allowing pip to consult the configured index, bypassing virtualenv's download_wheel() and verify_wheel_digest() path. When virtualenv's default-index PyPI digest comparison remains enabled, an index candidate matching the bundled package and version can therefore be selected without comparison to PyPI SHA-256 metadata. Explicit custom-index settings already opt out of that comparison and remain outside this verification-bypass claim; the demonstr

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  15. CVE-2026-113716

    Moyenne · CVSS 4.5EPSS 0,12%Correctif disponible

    virtualenv: Builtin creation follows linked environment directories

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the builtin creator calls ensure_dir() for executable, library, and package directories, and ensure_dir() accepts an existing symlink to a directory because exists() follows it. Interpreter creation, seed installation, and activation generation then write through the linked parent outside the requested destination when another local account prepared the tree and the invoking user can access the target. The --clear option removes the planted tree first, while ordinary creation reaches it; arbitrary attacker-selected output bytes are not established. This

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  16. CVE-2026-113714

    Faible · CVSS 2.3EPSS 0,21%Correctif disponible

    virtualenv: Downloaded wheel selection and caching precede verification

    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 v

    • Mettez à jour vers 21.14.9
    Publication Mise à jour
  17. CVE-2026-113713

    Moyenne · CVSS 4.4EPSS 0,11%Correctif disponible

    virtualenv: Temporary app-data can leave dangling seed package links

    virtualenv is a tool for creating isolated virtual python environments. From 21.14.8 until 21.14.10, the app-data seeder can leave an environment linked to temporary package files that virtualenv deletes when creation finishes. The environment-variable and configuration-file forms of symlink_app_data can enable this state even though the command-line flag is disabled for temporary app-data. The resulting environment depends on a cache pathname that its owner no longer controls. This issue is fixed in version 21.14.10.

    • Mettez à jour vers 21.14.10
    Publication Mise à jour
  18. CVE-2026-102938

    Moyenne · CVSS 5.8EPSS 0,14%Correctif disponible

    virtualenv writes prompt values into pyvenv.cfg without sanitizing line boundaries, allowing configuration injection

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.11, PyEnvCfg.write() writes prompt values verbatim to the line-oriented pyvenv.cfg format while PyEnvCfg._read_values() parses the file with str.splitlines() and accepts the last value for duplicate keys. An attacker who influences --prompt, VIRTUALENV_PROMPT, or configuration input can insert a recognized line boundary and additional keys, including home, causing consumers to use an attacker-selected base interpreter or corrupted environment metadata. The security impact requires prompt input from outside the operator's trust boundary; directly supplied pro

    • Mettez à jour vers 21.7.11
    Publication Mise à jour
  19. CVE-2026-102937

    Élevée · CVSS 7.3EPSS 0,14%Correctif disponible

    virtualenv: Command injection via --prompt in activate.bat (batch activator)

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.12, BatchActivator.quote() returns prompt text unchanged before activate.bat inserts it into a cmd.exe set "VAR=value" statement. An attacker who influences --prompt, VIRTUALENV_PROMPT, or the corresponding configuration value can include a double quote that closes the assignment and leaves following cmd.exe operators as executable syntax. When a user activates the generated Windows environment, the injected commands run with that user's privileges. This issue is fixed in version 21.7.12.

    • Mettez à jour vers 21.7.12
    Publication Mise à jour
  20. CVE-2026-102930

    Élevée · CVSS 7.7EPSS 0,16%Correctif disponible

    virtualenv: Downloaded seed wheels (pip/setuptools) are not integrity-checked before use

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.12, download_wheel() accepts pip and setuptools seed wheels fetched for periodic updates or the --download option without checking their bytes against an authoritative digest equivalent to the embedded wheels' BUNDLE_SHA256 verification. A compromised index, stale mirror, or intercepted TLS connection can substitute a different wheel under the requested distribution, version, and filename, after which virtualenv caches and seeds the attacker-controlled wheel into subsequently created environments. The verification applies to the default PyPI path and is inte

    • Mettez à jour vers 21.7.12
    Publication Mise à jour

Vérifiez votre serveur

Comparez votre pile et les versions installées aux bases de vulnérabilités actuelles.

Vérifiez votre serveur →