CVE-2025-61774
Linux Debian vulnerability analysis and mitigation

Overview

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).

Technical details

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).

Impact

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).

Exploitability

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).

Exploitation steps

  1. Reconnaissance: Identify that PyVista v0.46.3 build scripts use --extra-index-url https://wheels.vtk.org vtk-osmesa and that vtk-osmesa is absent from the public PyPI index.
  2. Register malicious package: Create a PyPI account and register a package named vtk-osmesa with a version number higher than any version available at wheels.vtk.org.
  3. Embed malicious payload: Include arbitrary code (e.g., a reverse shell, credential harvester, or backdoor) in the package's setup.py or __init__.py so it executes automatically upon installation.
  4. Publish to PyPI: Upload the malicious package to PyPI. Because pip checks PyPI first when --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.
  5. Trigger installation: Wait for a developer, CI/CD pipeline, or automated build system to build the PyVista Docker image or devcontainer, which will pull and execute the malicious package with the privileges of the build process (GitHub Advisory).

Indicators of compromise

  • Network: Outbound pip installation requests to 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.
  • Logs: pip installation logs showing 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.
  • File System: Unexpected files or scripts created in the Python site-packages directory under vtk_osmesa; new cron jobs, systemd units, or startup scripts created during or after a PyVista Docker/devcontainer build.
  • Process: Unusual child processes spawned during or immediately after a pip install vtk-osmesa step (e.g., curl, wget, bash, python making outbound connections); unexpected network listeners started by the build process.

Mitigation and workarounds

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).

Additional resources


SourceThis report was generated using AI

Related Linux Debian vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-74733NONEN/A
  • Linux Debian logoLinux Debian
  • linux
NoYesAug 22, 2026
CVE-2026-74732NONEN/A
  • Linux Debian logoLinux Debian
  • linux
NoYesAug 22, 2026
CVE-2026-74731NONEN/A
  • Linux Debian logoLinux Debian
  • linux
NoNoAug 22, 2026
CVE-2026-74730NONEN/A
  • Linux Debian logoLinux Debian
  • linux
NoYesAug 22, 2026
CVE-2026-74729NONEN/A
  • Linux Debian logoLinux Debian
  • linux
NoYesAug 22, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management