Description
A vulnerability has been found in the CPython `venv` module and CLI where path names provided when creating a virtual environment were not quoted properly, allowing the creator to inject commands into virtual environment "activation" scripts (ie "source venv/bin/activate"). This means that attacker-controlled virtual environments are able to run commands when the virtual environment is activated. Virtual environments which are not created by an attacker or which aren't activated before being used (ie "./venv/bin/python") are not affected.
Problem types
CWE-428 Unquoted Search Path or Element
Product status
Any version before 3.9.21
3.10.0 before 3.10.16
3.11.0 before 3.11.11
3.12.0 before 3.12.8
3.13.0 before 3.13.1
3.14.0a1 before 3.14.0a2
References
github.com/python/cpython/issues/124651
github.com/python/cpython/pull/124712
mail.python.org/.../thread/RSPJ2B5JL22FG3TKUJ7D7DQ4N5JRRBZL/
github.com/...ommit/e52095a0c1005a87eed2276af7a1f2f66e2b6483
github.com/...ommit/633555735a023d3e4d92ba31da35b1205f9ecbd7
github.com/...ommit/8450b2482586857d689b6658f08de9c8179af7db
github.com/...ommit/9286ab3a107ea41bd3f3c3682ce2512692bdded8
github.com/...ommit/ae961ae94bf19c8f8c7fbea3d1c25cc55ce8ae97
github.com/...ommit/d48cc82ed25e26b02eb97c6263d95dcaa1e9111b