CVE-2026-113724: virtualenv Symlink Target Mode Change on Deletion Recovery

virtualenv Updated 22 Oct 2026

Summary

21/10/2026
Yes i
Moderate
4.5

CVE-2026-113724: virtualenv: Deletion recovery can change a symlink target's mode. Affects virtualenv versions < 21.14.9. Fixed in 21.14.9. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Mobile apps built by Devnack Design, build and launch iOS and Android apps with a senior product team. From idea to store release Start a project

Background

virtualenv is a popular Python package that allows users to create isolated Python environments, enabling them to manage dependencies for different projects without conflicts. It is widely used in the Python community for its simplicity and effectiveness in handling project-specific packages. However, a vulnerability has been identified in version 21.14.8 that affects the permission recovery process after a failed deletion, particularly when dealing with symbolic links.

Vulnerability Detail

The vulnerability arises from the way virtualenv's deletion error handler operates. When a deletion fails on a symbolic link, the handler retrieves permission bits using lstat() but applies them through chmod(), which follows symlinks. This can inadvertently change the permissions of the target file or directory, potentially exposing sensitive data. The issue is contingent upon the deletion failure occurring on a symlink and the user having permission to modify the target's mode. The vulnerability was reported by Anthropic's OSS Scanner and is classified as having a CVSS score of 4.5, indicating a moderate severity level.

How To Fix

Latest published version: 21.14.12 as of 22 Oct 2026

pip install --upgrade "virtualenv==21.14.12"

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

21.14.9

This is the first release that contains the fix.

pip install --upgrade "virtualenv==21.14.9"

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a temporary workaround, avoid recursively clearing destinations that are populated by another account. If a deletion fails, inspect the failing entry before retrying with broader privileges to prevent unintended permission changes.

Conclusion

The vulnerability CVE-2026-113724 in virtualenv poses a risk of unintended permission changes during deletion recovery processes. Users are advised to update to version 21.14.9 or later to mitigate this risk. Implementing the suggested workarounds can also help in managing the vulnerability until an update can be applied.

See every vulnerability recorded for virtualenv →

Share this vulnerability

FAQ

CVE-2026-113724 is a vulnerability in the virtualenv package that can lead to unintended changes in file permissions when a deletion fails on a symbolic link.

If your application uses virtualenv version 21.14.8, it may inadvertently change the permissions of files or directories that are linked, potentially exposing sensitive information.

You can implement a workaround by avoiding recursive deletions in directories owned by other users and inspecting any failed deletions before retrying.

You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.

The CVSS score for this vulnerability is 4.5, indicating a moderate level of severity.

Related vulnerabilities

Recent vulnerabilities recorded for virtualenv.

How To Fix

Latest published version: 21.14.12 as of 22 Oct 2026

pip install --upgrade "virtualenv==21.14.12"

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

21.14.9

This is the first release that contains the fix.

pip install --upgrade "virtualenv==21.14.9"

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback