
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-61774 is a dependency confusion vulnerability in PyVista version 0.46.3 that enables remote code execution (RCE) via a supply chain attack. The flaw was disclosed on October 6, 2025, by researchers slvignesh05 and Salty43 via a GitHub Security Advisory. It affects only PyVista v0.46.3, specifically its Docker and devcontainer build scripts; no patched version was available at the time of publication. The vulnerability carries a CVSS v4.0 base score of 9.3 (Critical) (GitHub Advisory, Red Hat CVE).
The root cause is classified as CWE-94 (Improper Control of Generation of Code / Code Injection), arising from the use of --extra-index-url in two PyVista build scripts: docker/slim.Dockerfile (line 13) and .devcontainer/offscreen/oncreatecommand.sh (line 4). Both scripts install the vtk-osmesa package using pip install --extra-index-url https://wheels.vtk.org vtk-osmesa; however, vtk-osmesa is not published on PyPI. Because pip's --extra-index-url flag checks the public PyPI index first before the specified external index, an attacker who publishes a package named vtk-osmesa on PyPI with a sufficiently high version number will cause pip to pull and execute the attacker-controlled package instead of the legitimate one from wheels.vtk.org. No authentication, user interaction, or special privileges are required for the attacker to stage the malicious package (GitHub Advisory, slim.Dockerfile, oncreatecommand.sh).
Successful exploitation allows an attacker to execute arbitrary code on any system that builds the affected PyVista Docker image or devcontainer environment, effectively achieving full system compromise at the privilege level of the build process. This constitutes a supply chain attack: any downstream user or CI/CD pipeline that builds from the vulnerable scripts would automatically install and execute the malicious package. Potential consequences include unauthorized access, credential theft, data exfiltration, persistence mechanisms, and lateral movement within the affected infrastructure (GitHub Advisory).
No public proof-of-concept exploit code has been released, and there is no evidence of active in-the-wild exploitation at the time of publication. The EPSS score is approximately 0.0046 (0.46%), indicating a currently low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. However, the attack is technically straightforward — an attacker only needs to register and publish a vtk-osmesa package on PyPI with a version number higher than any existing release to trigger the confusion (GitHub Advisory, Red Hat CVE).
--extra-index-url https://wheels.vtk.org vtk-osmesa and that vtk-osmesa is absent from the public PyPI index.vtk-osmesa with a version number higher than any version available at wheels.vtk.org.setup.py or __init__.py so it executes automatically upon installation.--extra-index-url is used, any subsequent pip install --extra-index-url https://wheels.vtk.org vtk-osmesa command will resolve to the attacker's higher-versioned package.pypi.org for a package named vtk-osmesa (rather than exclusively to wheels.vtk.org); unexpected outbound connections from build hosts or containers to unknown external IPs following a PyVista build.vtk-osmesa being resolved from https://pypi.org/simple/vtk-osmesa/ instead of https://wheels.vtk.org; build logs indicating a version of vtk-osmesa not previously seen in the environment.vtk_osmesa; new cron jobs, systemd units, or startup scripts created during or after a PyVista Docker/devcontainer build.pip install vtk-osmesa step (e.g., curl, wget, bash, python making outbound connections); unexpected network listeners started by the build process.As of the time of disclosure, no patched version of PyVista was available. Recommended mitigations include: (1) avoid using --extra-index-url with packages not published on PyPI — prefer --index-url to restrict pip to a single trusted index, or use --no-index combined with --find-links to install only from the specified source; (2) implement strict version pinning (e.g., vtk-osmesa==<exact_version>) to reduce the risk of a higher-versioned malicious package being selected; (3) use virtual environments and audit installed packages with tools like pip-audit; (4) temporarily avoid building from the affected PyVista v0.46.3 Docker or devcontainer scripts until an official fix is released; (5) monitor PyPI for any newly published vtk-osmesa package as an early warning indicator (GitHub Advisory, Red Hat CVE).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."