Safeguard
Vulnerability Analysis•

CVE-2025-32800: Critical Dependency Confusion in conda-build

conda-build before 25.3.0 listed conda-index, not published on PyPI, as a dependency, so someone could claim the name. Upgrade to 25.3.0 or later.

Safeguard Security Team
3 min read

CVE-2025-32800 is a critical (CVSS 9.8) supply chain flaw in conda-build before version 25.3.0. Its pyproject.toml lists conda-index as a Python dependency, but that package is not published on PyPI, so anyone could register the name. The fix is conda-build 25.3.0, and a no-deps workaround exists.

What's affected

conda-build versions prior to 25.3.0, per the CVE record. The issue was fixed in 25.3.0. Note that this is an earlier version than the other two conda-build CVEs from the same disclosure, which need 25.4.0.

The advisory text explains the weakness. The dependency named conda-index is not on PyPI. An attacker could claim that name, upload malicious code, and then target pip install commands by injecting the malicious dependency into the resolve step.

It matters most where conda-build is installed from its repository with pip, such as in development setups and CI jobs. The workaround in the record is to use the no-deps option of pip install when installing the project from its repository.

How to check if you're exposed

Check the installed version first:

pip show conda-build
conda list conda-build

Then check what actually provides conda-index in your Python environments. List installed packages and confirm the one you have came from the channel you expect:

pip list | grep -i conda

A conda-index package installed from PyPI by pip is a red flag, because the legitimate package is not published there. Compare against what your CI image and lock files say.

What to do now

  1. Upgrade conda-build to 25.3.0 or, better, 25.4.0 or later to cover the related issues as well.
  2. If you must install from the repository, use the no-deps option of pip install, and install the real conda-index from its proper channel.
  3. Remove any conda-index that came from PyPI and rebuild the environment from a trusted source.
  4. Use lock files and a private index or allow list so names that are not yours cannot be pulled from a public index.
  5. Rotate secrets on any build host that installed an unexpected conda-index.

Why it matters

The class is CWE-1357 (Insufficiently Trustworthy Component). This is a dependency confusion pattern: a name that exists only in one ecosystem is requested from another, and whoever registers it first gets to run code on every machine that asks.

It shows why the dependency list of your build tools matters as much as the list for your product. Checking that every declared name resolves to the place you intend is cheap, and dependency scanning can automate it.

The record does not mark this CVE as CISA KEV and makes no claim of exploitation in the wild.

Try it yourself

A dependency name that resolves to the wrong place is hard to spot by eye. This demo shows how a dependency inventory lists every component and where it comes from.

Click through it at your own pace, or open it full screen.

Quick check

What is the quick workaround?

The record says to use the no-deps option when installing the project from its repository with pip. Upgrading to 25.3.0 or later is the real fix.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.