CVE-2026-53940: Conda: Entry-point path traversal in noarch:python install (arbitrary file write) — canonical Python implementation
Conda is a system-level binary package and environment manager that runs on major operating systems and platforms. Prior to 26.5.2, parseentrypointdef in conda/common/path/python.py accepted an unvalidated entry-point command from a noarch:python package's info/link.json metadata. CreatePythonEntryPointAction in conda/core/pathactions.py interpolated that command into targetshortpath, and PrefixPathAction.targetfullpath joined it to the installation prefix without verifying that the result remained under the intended bin or Scripts directory. createpythonentrypoint in conda/gateways/disk/create.py then wrote an executable wrapper to the resulting path. A malicious package could use path separators, traversal segments, or an absolute command path to write outside the prefix or overwrite another in-prefix entry point during default install and environment transactions. Out-of-prefix writes require the target parent directory to exist, while an overwritten entry point can execute attacker-controlled Python when later invoked with the installing user's privileges. This issue is fixed in version 26.5.2.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
condato a version that resolves this vulnerability.Fixed in 26.5.2
Event History
Frequently Asked Questions
Who is exposed to this issue?
Users who install or update environments with a malicious noarch:python Conda package are exposed. The vulnerable behavior occurs during default install and environment transactions, so it does not require a non-default configuration.
What does an attacker need to exploit it?
An attacker needs to get a crafted noarch:python package installed by the target. The package's info/link.json can supply an entry-point command containing path separators, traversal segments, or an absolute path.
What is the practical impact of a successful exploit?
The package can write an executable wrapper outside the environment prefix if the target parent directory already exists, or overwrite another entry point within the prefix. A replaced entry point can run attacker-controlled Python when the installing user later invokes it.
What should teams do if they cannot patch immediately?
Avoid installing untrusted noarch:python packages and scrutinize package metadata, particularly info/link.json entry-point commands, for traversal or absolute paths. Upgrade Conda to version 26.5.2 when possible.