Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
The probability is the direct output of the EPSS model, and conveys an overall sense of the threat of exploitation in the wild. The percentile measures the EPSS probability relative to all known EPSS scores. Note: This data is updated daily, relying on the latest available EPSS model version. Check out the EPSS documentation for more details.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsUpgrade virtualenv to version 21.14.9 or higher.
Affected versions of this package are vulnerable to Symlink Attack via ViaTemplateActivator._generate() in src/virtualenv/activation/via_template.py, which checks whether a destination file exists with Path.exists() before unlinking it and writing new content. A local attacker who can race the check-then-unlink-then-write sequence can substitute a symlink or file between the unlink and the subsequent write, causing virtualenv to write attacker-influenced content to an arbitrary path with the privileges of the virtualenv-creating process. The same pattern is present in several other file-writing paths (creator.py, pyenv_cfg.py, and related modules) that were consolidated into a new atomic write_file helper by the fix.
Note: This is only exploitable when an existing output file is present at the destination path, triggering the Path.exists() / unlink() branch in ViaTemplateActivator._generate().