Read the docs

Line-boundary injection in virtualenv pyvenv.cfg readback

Priority MEDIUM 44CWE-93Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Passive
Attack complexity
High
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
Low · Low · Low
Fix status
Partial Red Hat: 6 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat.

Summary

virtualenv before 21.14.9 reads its generated pyvenv.cfg with str.splitlines() in the stdlib venv creator and merges the parsed keys over its configuration. A line-boundary character such as U+2028 in the destination pathname injects keys like home and include-system-site-packages (CWE-93), so an untrusted caller who influences that path can weaken isolation or change which standard library files load.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

Description from the CNA

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00242 15th percentileScored 2026-11-07
Fix Partial virtualenv (pypa): 21.14.9virtualenv (PyPI): 21.14.9Red Hat: 6 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
pypavirtualenvbefore 21.14.921.14.9Patch availableCNA
—virtualenv (PyPI)before 21.14.921.14.9Patch availableGHSA-qmx5-4p3x-wvqf
  • virtualenv Vendorpypa Affected before 21.14.9 Fixed in 21.14.9 Patch available CNA
  • virtualenv (PyPI) Vendor— Affected before 21.14.9 Fixed in 21.14.9 Patch available GHSA-qmx5-4p3x-wvqf

Remediation

Upgrade virtualenv to 21.14.9, the fixed version on PyPI. The sources list no fixed version for OpenShift Lightspeed, Ansible Automation Platform 2, Red Hat OpenShift AI (RHOAI), OpenShift Container Platform 4, OpenShift Dev Spaces and Satellite 6.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

  • Fix · CNA virtualenv (pypa) Fixed in 21.14.9
  • Fix · GHSA-qmx5-4p3x-wvqf virtualenv (PyPI) Fixed in 21.14.9 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
OpenShift LightspeedAffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 4AffectedNo fix yet: Fix deferred
Red Hat OpenShift Dev SpacesAffectedNo fix yet: Fix deferred
Red Hat Satellite 6AffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-21 Threatist record created from CVE-2026-113715
  2. 2026-10-21 Affected versions changed · Red Hat
  3. 2026-10-21 CVSS score added · Red Hat
  4. 2026-10-23 CISA SSVC decision points changed
  5. 2026-10-23 Priority changed: LOW → MEDIUM
  6. 2026-10-23 Alias added: GHSA-qmx5-4p3x-wvqf
  7. 2026-10-23 Fix available: PyPI/[email protected] · GHSA-qmx5-4p3x-wvqf
  8. 2026-10-23 CVSS score added · GHSA-qmx5-4p3x-wvqf
  9. 2026-10-23 Weakness changed · GHSA-qmx5-4p3x-wvqf
  10. 2026-10-23 6 new references · GHSA-qmx5-4p3x-wvqf

References

  • TI-2025-29803 setuptools has a path traversal vulnerability in PackageIndex.download that leads to Arbitrary File Write CVSS 4.0HIGH 7.7
  • TI-2024-05888 Remote Code Execution in pypa/setuptools CVSS 3.0HIGH 8.8
  • TI-2026-78525 Shell command injection in virtualenv generated POSIX launchers CVSS 3.1HIGH 7.8
  • TI-2026-78526 Command injection in virtualenv bash activation prompt CVSS 4.0HIGH 7.1
  • TI-2026-78521 Code injection in virtualenv Xonsh activation script CVSS 4.0HIGH 7.1
  • TI-2026-19377 wheel Allows Arbitrary File Permission Modification via Path Traversal CVSS 3.1HIGH 7.1
See all 36 →

Sources