CVE-2026-113724

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

MEDIUM
4.5
CVSS Score
Published: October 20, 2026 at 07:53 PM UTC
Updated: October 27, 2026 at 12:17 PM UTC
1 product affected across 1 vendorVirtualenv

Using virtualenv by pypa?

Get instant alerts when new vulnerabilities affect virtualenv - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM4.5
Exploit prediction
EPSS 0.2%
SSVC
PoC

Description

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 directories; root does not reach the demonstrated failure path, and the operation does not itself read the target. This issue is fixed in version 21.14.9.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 21.14.9

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

SSVC — Action Prioritization

SSVCPoCNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

4.5MEDIUMGitHub_M
Attack Vector
LOCAL
Complexity
HIGH
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
LOW
Integrity
LOW
Availability
LOW
Vector?

Quick Info

StatusUNDERGOING ANALYSIS
CWE
CWE-59

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card