PatchSiren cyber security CVE debrief
CVE-2026-113724 pypa CVE debrief
PatchSiren debrief for CVE-2026-113724: virtualenv's permission recovery after a filesystem deletion error can change a symlink target's mode, potentially affecting users with specific deployment contexts. The issue arises from the safe_delete() function's error handler, which obtains permission bits with lstat() but applies them through chmod(), following symlinks. This can change permissions outside the destination. Defenders and users of virtualenv, especially in environments where symbolic links are used, should assess exposure and prioritize remediation. The CVE record was published on 2026-10-21T21:31:34.000Z and has not been modified since then. The safe_delete() function in
- Vendor
- pypa
- Product
- virtualenv
- CVSS
- MEDIUM 4.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-10-21
- Original CVE updated
- 2026-10-21
- Advisory published
- 2026-10-21
- Advisory updated
- 2026-10-21
Who should care
Defenders and users of virtualenv, especially in environments where symbolic links are used, should assess exposure and prioritize remediation. This includes reviewing deployment contexts, verifying the use of symbolic links, and updating virtualenv to the latest version. Additionally, defenders should assess exposure and prioritize remediation for systems using virtualenv, especially in environments where symbolic links are used.
Why it matters
Defenders should assess exposure and prioritize remediation for systems using virtualenv, especially in environments where symbolic links are used.
- Change in permissions of symlink targets
- Potential security risks in environments with symbolic links
Technical summary
The safe_delete() function in virtualenv has an error handler that can change a symlink target's mode, potentially affecting users with specific deployment contexts. This occurs because the error handler obtains permission bits with lstat() but applies them through chmod(), following symlinks. As a result, a link inside a read-only directory can have its target's permissions changed. Defenders and users of virtualenv, especially in environments where symbolic links are used, should assess exposure and prioritize remediation. The issue is addressed in version 21.14.9 or later.
Defensive priority
Defenders should assess exposure and prioritize remediation for systems using virtualenv, especially in environments where symbolic links are used.
Recommended defensive actions
- Assess exposure and prioritize remediation for systems using virtualenv
- Verify if symbolic links are used in the environment
- Update virtualenv to version 21.14.9 or later
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up.
- Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance.
- Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed.
- Review compensating controls for exposed systems while remediation is scheduled and verified.
Evidence notes
The issue arises from the safe_delete() function's error handler, which obtains permission bits with lstat() but applies them through chmod(), following symlinks. This can change permissions outside the destination.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-113724 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-113724
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-113724 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-113724
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
virtualenv: Deletion recovery can change a symlink target's mode
Unverified legacy reference
URL: https://storage.googleapis.com/osv-vulnerabilities/PyPI/GHSA-43mp-35q3-x3fq.json
osv_dev
-
Source reference
Unverified legacy reference
URL: https://github.com/pypa/virtualenv/security/advisories/GHSA-43mp-35q3-x3fq
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/pypa/virtualenv/pull/3427
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/pypa/virtualenv/commit/2bfdc0230d1b2685fedfcfe66c835b9a2ec7c440
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/pypa/virtualenv
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/pypa/virtualenv/releases/tag/21.14.9
Supplemental source
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.