python-pyvista — security advisory
PyVista provides 3D plotting and mesh analysis through an interface for the Visualization Toolkit (VTK). Version 0.46.3 of the PyVista Project is vulnerable to remote code execution via dependency confusion. Two pieces of code use`--extra-index-url`. But when `--extra-index-url` is used, pip always checks for the PyPI index first, and then the external index. One package listed in the code is not published in PyPI. If an attacker publishes a package with higher version in PyPI, the malicious code from the attacker controlled package may be pulled, leading to remote code execution and a supply chain attack. As of time of publication, a patched version is unavailable.
- Products
- python-pyvista
- Affected versions
- 0.44.1-11, 0.46.4-3ubuntu1, 0.46.4-3ubuntu2, 0.46.4-4ubuntu1, 0.46.5-3, 0.46.5-8, 0.46.5-8ubuntu1, 0.48.4-5
- Fixed versions
- Not specified
- CVEs
- CVE-2025-61774
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 01:44 UTC · Revision 1
Source evidence
PyVista provides 3D plotting and mesh analysis through an interface for the Visualization Toolkit (VTK). Version 0.46.3 of the PyVista Project is vulnerable to remote code execution via dependency confusion. Two pieces of code use`--extra-index-url`. But when `--extra-index-url` is used, pip always checks for the PyPI index first, and then the external index. One package listed in the code is not published in PyPI. If an attacker publishes a package with higher version in PyPI, the malicious code from the attacker controlled package may be pulled, leading to remote code execution and a supply chain attack. As of time of publication, a patched version is unavailable.
osv:UBUNTU-CVE-2025-61774
python-pyvista
Fixed versions: Not specified
python-pyvista
Fixed versions: Not specified
python-pyvista
Fixed versions: Not specified
Complete source record
{
"id": "909e14a07c376be6c65575be5f6dd002175bb699d56bc66e74d029fc0959b45b",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2025-61774",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2025-61774",
"summary": "PyVista provides 3D plotting and mesh analysis through an interface for the Visualization Toolkit (VTK). Version 0.46.3 of the PyVista Project is vulnerable to remote code execution via dependency confusion. Two pieces of code use`--extra-index-url`. But when `--extra-index-url` is used, pip always checks for the PyPI index first, and then the external index. One package listed in the code is not published in PyPI. If an attacker publishes a package with higher version in PyPI, the malicious code from the attacker controlled package may be pulled, leading to remote code execution and a supply chain attack. As of time of publication, a patched version is unavailable.",
"evidence": "osv:UBUNTU-CVE-2025-61774",
"products": [
{
"name": {
"value": "python-pyvista",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.44.1-11",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "python-pyvista",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.46.5-8ubuntu1",
"evidence": "/affected/1/versions"
},
{
"value": "0.48.4-5",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "python-pyvista",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.44.1-11",
"evidence": "/affected/2/versions"
},
{
"value": "0.46.4-3ubuntu1",
"evidence": "/affected/2/versions"
},
{
"value": "0.46.4-3ubuntu2",
"evidence": "/affected/2/versions"
},
{
"value": "0.46.4-4ubuntu1",
"evidence": "/affected/2/versions"
},
{
"value": "0.46.5-3",
"evidence": "/affected/2/versions"
},
{
"value": "0.46.5-8",
"evidence": "/affected/2/versions"
},
{
"value": "0.46.5-8ubuntu1",
"evidence": "/affected/2/versions"
}
]
}
],
"severity": "critical",
"structured": {
"id": "UBUNTU-CVE-2025-61774",
"aliases": [
"UBUNTU-CVE-2025-61774"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-pyvista",
"purl": "pkg:deb/ubuntu/python-pyvista?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"0.44.1-11"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-61774.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-pyvista",
"binary_version": "0.44.1-11"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-pyvista",
"purl": "pkg:deb/ubuntu/python-pyvista?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"0.46.5-8ubuntu1",
"0.48.4-5"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-61774.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-pyvista",
"binary_version": "0.48.4-5"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-pyvista",
"purl": "pkg:deb/ubuntu/python-pyvista?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"0.44.1-11",
"0.46.4-3ubuntu1",
"0.46.4-3ubuntu2",
"0.46.4-4ubuntu1",
"0.46.5-3",
"0.46.5-8",
"0.46.5-8ubuntu1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-61774.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-pyvista",
"binary_version": "0.46.5-8ubuntu1"
}
]
}
}
],
"modified": "2026-10-17T12:57:22.263550707Z",
"provider": "osv",
"upstream": [
"CVE-2025-61774"
],
"references": [
"https://ubuntu.com/security/CVE-2025-61774",
"https://www.cve.org/CVERecord?id=CVE-2025-61774",
"https://github.com/pyvista/pyvista/security/advisories/GHSA-xr7f-qcjc-63rv",
"https://github.com/pyvista/pyvista/commit/aabfb3db2b0d4980de9e94e66272240efba4ed95",
"https://github.com/pyvista/pyvista/blob/c96e1ddbe707fb7d3eb574dc3336de1a946f14a1/.devcontainer/offscreen/oncreatecommand.sh#L4",
"https://github.com/pyvista/pyvista/blob/c96e1ddbe707fb7d3eb574dc3336de1a946f14a1/docker/slim.Dockerfile#L13"
]
},
"related_cves": [
{
"value": "CVE-2025-61774",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 357352,
"published_at": "2025-10-06T23:15:00+00:00"
}