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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-732"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/113xxx/CVE-2026-113720.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "21.14.9"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "35f0b33562790176dd186d0a3c517af3acc7a0e1"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "21.14.9",
"range": [
{
"fixed": "e53e30b9c8fbc3f4f502223819449ddc970fbbe8"
}
],
"source": "REFERENCES_TAG"
}
]
}