Skip to content
Fencer Vulns
high 8.8

CVE-2025-47273 json

setuptools has a path traversal vulnerability in PackageIndex.download that leads to Arbitrary File Write

published 2025-05-17 17 mo ago modified 2026-09-10 1 mo ago also BIT-setuptools-2025-47273 , EUVD-2025-15591 , GHSA-5rjg-fvgr-3xxf , PYSEC-2025-49

cvss
8.8
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
1.6%
EPSS 1.6% chance of exploitation in 30 days, percentile 75%
public exploits
0
none known

Summary

setuptools is a package that allows users to download, build, install, upgrade, and uninstall Python packages. A path traversal vulnerability in `PackageIndex` is present in setuptools prior to version 78.1.1. An attacker would be allowed to write files to arbitrary locations on the filesystem with the permissions of the process running the Python code, which could escalate to remote code execution depending on the context. Version 78.1.1 fixes the issue.

Patch / fix

  • pypi setuptools 78.1.1
  • bitnami setuptools 78.1.1
  • python setuptools 78.1.1
  • setuptools Debian 12 66.1.1-1+deb12u2
  • setuptools Debian 14, Debian 13 78.1.1-0.1

debian advisories DEBIAN-CVE-2025-47273

  • setuptools Ubuntu 20.04 LTS 45.2.0-1ubuntu0.3
  • setuptools Ubuntu 22.04 LTS 59.6.0-1.2ubuntu0.22.04.3
  • setuptools Ubuntu 24.04 LTS 68.1.2-2ubuntu1.2
  • python-pip Ubuntu Pro 16.04 LTS 8.1.1-2ubuntu0.6+esm12
  • python-pip Ubuntu Pro 18.04 LTS 9.0.1-2.3~ubuntu1.18.04.8+esm8
  • python-setuptools Ubuntu Pro 14.04 LTS 3.3-1ubuntu2+esm3
  • python-setuptools Ubuntu Pro 16.04 LTS 20.7.0-1ubuntu0.1~esm3
  • python-setuptools Ubuntu Pro 18.04 LTS 39.0.1-2ubuntu0.1+esm2

ubuntu advisories UBUNTU-CVE-2025-47273

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • numpy RHEL 8 1.19.4-3.module+el8.9.0+19644+d68f775d
  • scipy RHEL 8 1.5.4-5.module+el8.9.0+19644+d68f775d
  • Cython RHEL 8 0.29.21-5.module+el8.9.0+19644+d68f775d
  • pytest RHEL 8 6.0.2-2.module+el8.9.0+19644+d68f775d
  • PyYAML RHEL 8 5.4.1-1.module+el8.9.0+19644+d68f775d
  • mod_wsgi RHEL 8 4.7.1-7.module+el8.10.0+23075+0aa18782.1
  • pybind11 RHEL 8 2.7.1-1.module+el8.9.0+19644+d68f775d
  • python39 RHEL 8 3.9.20-2.module+el8.10.0+23441+1124c1da

red hat advisories RHSA-2025:15411RHSA-2025:15410RHSA-2025:15408RHSA-2025:14900RHSA-2025:14686RHSA-2025:13804

  • python-setuptools Linux Micro 6.1 70.0.0-slfo.1.1_2.1
  • python-setuptools Linux Micro 6.0 69.0.2-3.1
  • python-setuptools SLE Module for Python 3 15 SP7, SLE Module for Python 3 15 SP6, SLE Module for Public Cloud 15 SP4 +9 more 67.7.2-150400.3.19.1
  • python3-setuptools SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +13 more 44.1.1-150400.9.12.1
  • python3-setuptools-test SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +10 more 44.1.1-150400.9.12.1
  • python3-setuptools-wheel SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +10 more 44.1.1-150400.9.12.1
  • python312-setuptools SLE Module for Python 3 15 SP6, openSUSE Leap 15.6 68.1.2-150600.3.6.1
  • python313-setuptools SLE Module for Python 3 15 SP7 72.1.0-150700.3.3.1

suse advisories SUSE-SU-2025:20462-1SUSE-SU-2025:20412-1SUSE-SU-2025:01704-2SUSE-SU-2025:01810-1SUSE-SU-2025:01774-1SUSE-SU-2025:01744-1

  • bazel-rules-python openSUSE Tumbleweed 2.3.3-1.1
  • oci-cli openSUSE Tumbleweed 3.76.2-1.1

opensuse advisories openSUSE-SU-2026:11831-1openSUSE-SU-2026:10539-1

  • python39 AlmaLinux 8 3.9.20-2.module_el8.10.0+4040+9207bbc0
  • python39-py AlmaLinux 8 1.10.0-1.module_el8.6.0+2780+a40f65e1
  • python39-pip AlmaLinux 8 20.2.4-9.module_el8.10.0+3765+2f9a457d
  • python39-ply AlmaLinux 8 3.11-10.module_el8.6.0+2780+a40f65e1
  • python39-six AlmaLinux 8 1.15.0-3.module_el8.6.0+2780+a40f65e1
  • python39-cffi AlmaLinux 8 1.14.3-2.module_el8.6.0+2780+a40f65e1
  • python39-cffi AlmaLinux 8 1.14.3-2.module_el8.6.0+3248+c431e88c
  • python39-idle AlmaLinux 8 3.9.20-2.module_el8.10.0+4040+9207bbc0

almalinux advisories ALSA-2025:14900ALSA-2025:13578ALSA-2025:12834ALSA-2025:11463ALSA-2025:11036ALSA-2025:11043

  • python-setuptools Rocky Linux 9 53.0.0-13.el9_6.1
  • fence-agents Rocky Linux 9 4.10.0-86.el9_6.7
  • python3.12-setuptools Rocky Linux 9 68.2.2-5.el9_6
  • python3.11-setuptools Rocky Linux 9 65.5.1-4.el9_6
  • python-setuptools Rocky Linux 10 69.0.3-12.el10_0
  • numpy Rocky Linux 8 1.19.4-3.module+el8.10.0+1860+afcc1c71
  • numpy Rocky Linux 8 1.19.4-3.module+el8.10.0+1582+bc278001
  • scipy Rocky Linux 8 1.5.4-5.module+el8.10.0+1860+afcc1c71

rocky linux advisories RLSA-2025:10407RLSA-2025:11463RLSA-2025:12834RLSA-2025:13578RLSA-2025:9940RLSA-2025:14900

  • python-setuptools Azure Linux 3.0 69.0.3-5

azure linux advisories AZL-61943

Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2025-47273 updated cvss 7.1

setuptools: Path Traversal Vulnerability in setuptools PackageIndex

  • Red Hat cert-manager Operator for Red Hat OpenShift cert-manager/cert-manager-operator-rhel9, cert-manager/jetstack-cert-manager-rhel9, cert-manager/cert-manager-istio-csr-rhel9, cert-manager/jetstack-cert-manager-acmesolver-rhel9 Red Hat Confidential Compute Attestation confidential-compute-attestation-tech-preview/trustee-rhel9
    affected: workaround, no fix available
  • Red Hat Logging Subsystem for Red Hat OpenShift openshift-logging/elasticsearch6-rhel9, openshift-logging/logging-curator5-rhel9
    affected: workaround, no fix planned “Out of support scope”
  • Red Hat OpenShift Lightspeed openshift-lightspeed-tech-preview/lightspeed-service-api-rhel9, openshift-lightspeed-tech-preview/lightspeed-console-plugin-rhel9
    affected: workaround, no fix available, no fix planned “Will not fix”
  • Red Hat OpenShift Pipelines openshift-pipelines/pipelines-nop-rhel8, openshift-pipelines/pipelines-events-rhel8, openshift-pipelines/pipelines-hub-ui-rhel8, openshift-pipelines/pipelines-hub-ui-rhel9, openshift-pipelines/pipelines-cli-tkn-rhel8, openshift-pipelines/pipelines-hub-api-rhel8, +26 more
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Enterprise Linux 6 python-setuptools Red Hat Enterprise Linux 8 python38-setuptools, python39-setuptools, python3x-setuptools, python38-setuptools-wheel, python39-setuptools-wheel
    affected: workaround, no fix available
  • Red Hat Enterprise Linux AI (RHEL AI) rhelai1/ui-rhel9, rhelai1/docling-serve-rhel9
    affected: workaround, no fix planned “Will not fix”
  • Red Hat OpenShift AI (RHOAI) rhoai/odh-feast-operator-rhel8, rhoai/odh-feature-server-rhel8, rhods/odh-ml-pipelines-cache-rhel8, rhods/odh-ml-pipelines-api-server-rhel8, rhoai/odh-modelmesh-runtime-adapter-rhel8, rhods/odh-ml-pipelines-artifact-manager-rhel8, +2 more Red Hat OpenShift Container Platform 4 python-setuptools, openshift/ose-rhel-coreos-8, openshift/ose-rhel-coreos-9
    affected: workaround, no fix available
  • Red Hat OpenShift Dev Spaces devspaces/udi-rhel8, devspaces/udi-rhel9 Red Hat Trusted Artifact Signer rhtas/tuffer-rhel9, rhtas/tuftool-rhel9, rhtas/rekor-cli-rhel9, rhtas/rekor-server-rhel9, rhtas/client-server-rhel9, rhtas/trillian-redis-rhel9, +4 more
    affected: workaround, no fix planned “Out of support scope”
show 25 more
  • Red Hat Builds for Red Hat OpenShift 1.4.1 openshift-builds 1.4.1-1751884061, openshift-builds 1.4.1-1751884063, openshift-builds 1.4.1-1752476536, openshift-builds 1.4.1-1752476548
    fixed: vendor fix RHSA-2025:11146
  • Red Hat Builds for Red Hat OpenShift 1.5.2 openshift-builds 1.5.0-1752236353, openshift-builds 1.5.0-1752236355
    fixed: vendor fix RHSA-2025:11388
  • Red Hat Ansible Automation Platform 2.5 for RHEL 8 automation-controller 4.6.19-1.el8ap, automation-controller-ui 4.6.19-1.el8ap, automation-controller-cli 4.6.19-1.el8ap, automation-controller-server 4.6.19-1.el8ap, automation-controller-venv-tower 4.6.19-1.el8ap Red Hat Ansible Automation Platform 2.5 for RHEL 9 automation-controller 4.6.19-1.el9ap, automation-controller-ui 4.6.19-1.el9ap, automation-controller-cli 4.6.19-1.el9ap, automation-controller-server 4.6.19-1.el9ap, automation-controller-venv-tower 4.6.19-1.el9ap
    fixed: vendor fix RHSA-2025:14686
  • Red Hat CodeReady Linux Builder EUS (v.9.4) python3.12-setuptools-wheel 68.2.2-3.el9_4.2
    fixed: vendor fix RHSA-2025:13668
  • Red Hat Developer Hub 1.5 rhdh 1.5.3-1752159545
    fixed: vendor fix RHSA-2025:10992
  • Red Hat Developer Hub 1.6 rhdh 1.6.2-1750887220
    fixed: vendor fix RHSA-2025:9966
  • Red Hat Enterprise Linux AI 1.5 rhelai1 1.5.4-1761043227, rhelai1 1.5.4-1761050413, rhelai1 1.5.4-1761060689, rhelai1 1.5.4-1761064179, rhelai1 1.5.4-1761073793, rhelai1 1.5.4-1761220254, +4 more
    fixed: vendor fix RHSA-2025:19427
  • Red Hat Enterprise Linux AppStream (v. 8) python3.11-setuptools 65.5.1-4.el8_10, python3.12-setuptools 68.2.2-5.el8_10, python3.11-setuptools-wheel 65.5.1-4.el8_10, scipy 1.5.4-5.module+el8.9.0+19644+d68f775d, numpy 1.19.4-3.module+el8.9.0+19644+d68f775d, PyYAML 5.4.1-1.module+el8.9.0+19644+d68f775d, +52 more
    fixed: vendor fix RHSA-2025:14900
  • Red Hat Enterprise Linux AppStream (v. 9) fence-virt 4.10.0-86.el9_6.7, fence-virtd 4.10.0-86.el9_6.7, fence-agents 4.10.0-86.el9_6.7, fence-virtd-cpg 4.10.0-86.el9_6.7, fence-virtd-tcp 4.10.0-86.el9_6.7, fence-agents-all 4.10.0-86.el9_6.7, +53 more
    fixed: vendor fix RHSA-2025:11463
  • Red Hat Enterprise Linux AppStream AUS (v.8.4) scipy 1.5.4-3.module+el8.4.0+9822+20bf1249, PyYAML 5.4.1-1.module+el8.4.0+10484+27ce8e03, mod_wsgi 4.7.1-4.module+el8.4.0+9822+20bf1249, numpy 1.19.4-2.module+el8.4.0+15042+dc5a279b.1, python-idna 2.10-3.module+el8.4.0+9822+20bf1249, python-ply 3.11-10.module+el8.4.0+9822+20bf1249, +49 more
    fixed: vendor fix RHSA-2025:15411
  • Red Hat Enterprise Linux AppStream AUS (v.8.6) scipy 1.5.4-3.module+el8.4.0+9822+20bf1249, numpy 1.19.4-3.module+el8.5.0+12204+54860423, PyYAML 5.4.1-1.module+el8.5.0+10613+59a13ec4, mod_wsgi 4.7.1-4.module+el8.4.0+9822+20bf1249, python-idna 2.10-3.module+el8.4.0+9822+20bf1249, python-ply 3.11-10.module+el8.4.0+9822+20bf1249, +49 more Red Hat Enterprise Linux AppStream E4S (v.8.6) scipy 1.5.4-3.module+el8.4.0+9822+20bf1249, numpy 1.19.4-3.module+el8.5.0+12204+54860423, PyYAML 5.4.1-1.module+el8.5.0+10613+59a13ec4, mod_wsgi 4.7.1-4.module+el8.4.0+9822+20bf1249, python-idna 2.10-3.module+el8.4.0+9822+20bf1249, python-ply 3.11-10.module+el8.4.0+9822+20bf1249, +49 more
    fixed: vendor fix RHSA-2025:15410
  • Red Hat Enterprise Linux AppStream E4S (v.8.8) python3.11-setuptools 65.5.1-2.el8_8.2, scipy 1.5.4-3.module+el8.4.0+9822+20bf1249, numpy 1.19.4-3.module+el8.5.0+12204+54860423, python3.11-setuptools-wheel 65.5.1-2.el8_8.2, PyYAML 5.4.1-1.module+el8.5.0+10613+59a13ec4, mod_wsgi 4.7.1-5.module+el8.7.0+16654+645aad7f, +51 more
    fixed: vendor fix RHSA-2025:15408
  • Red Hat Enterprise Linux AppStream E4S (v.9.0) fence-virt 4.10.0-20.el9_0.23, fence-virtd 4.10.0-20.el9_0.23, fence-agents 4.10.0-20.el9_0.23, fence-virtd-cpg 4.10.0-20.el9_0.23, fence-virtd-tcp 4.10.0-20.el9_0.23, fence-agents-virsh 4.10.0-20.el9_0.23, +9 more
    fixed: vendor fix RHSA-2025:11464
  • Red Hat Enterprise Linux AppStream E4S (v.9.2) fence-virt 4.10.0-43.el9_2.14, fence-virtd 4.10.0-43.el9_2.14, fence-agents 4.10.0-43.el9_2.14, fence-virtd-cpg 4.10.0-43.el9_2.14, fence-virtd-tcp 4.10.0-43.el9_2.14, fence-agents-virsh 4.10.0-43.el9_2.14, +10 more
    fixed: vendor fix RHSA-2025:11101
  • Red Hat Enterprise Linux AppStream EUS (v.9.4) fence-virt 4.10.0-62.el9_4.15, fence-virtd 4.10.0-62.el9_4.15, fence-agents 4.10.0-62.el9_4.15, fence-virtd-cpg 4.10.0-62.el9_4.15, fence-virtd-tcp 4.10.0-62.el9_4.15, fence-agents-virsh 4.10.0-62.el9_4.15, +11 more
    fixed: vendor fix RHSA-2025:11102
  • Red Hat Enterprise Linux AppStream EUS EXTENSION (v.8.4) scipy 1.5.4-3.module+el8.4.0+9822+20bf1249, PyYAML 5.4.1-1.module+el8.4.0+10484+27ce8e03, mod_wsgi 4.7.1-4.module+el8.4.0+9822+20bf1249, numpy 1.19.4-2.module+el8.4.0+15042+dc5a279b.1, python-idna 2.10-3.module+el8.4.0+9822+20bf1249, python-ply 3.11-10.module+el8.4.0+9822+20bf1249, +49 more
    fixed: vendor fix RHSA-2025:15411
  • Red Hat Enterprise Linux AppStream TUS (v.8.6) scipy 1.5.4-3.module+el8.4.0+9822+20bf1249, numpy 1.19.4-3.module+el8.5.0+12204+54860423, PyYAML 5.4.1-1.module+el8.5.0+10613+59a13ec4, mod_wsgi 4.7.1-4.module+el8.4.0+9822+20bf1249, python-idna 2.10-3.module+el8.4.0+9822+20bf1249, python-ply 3.11-10.module+el8.4.0+9822+20bf1249, +49 more
    fixed: vendor fix RHSA-2025:15410
  • Red Hat Enterprise Linux AppStream TUS (v.8.8) python3.11-setuptools 65.5.1-2.el8_8.2, python3.11-setuptools-wheel 65.5.1-2.el8_8.2
    fixed: vendor fix RHSA-2025:13804
  • Red Hat Enterprise Linux BaseOS (v. 8) python-setuptools 39.2.0-9.el8_10, python3-setuptools 39.2.0-9.el8_10, python3-setuptools-wheel 39.2.0-9.el8_10, platform-python-setuptools 39.2.0-9.el8_10
    fixed: vendor fix RHSA-2025:11036
  • Red Hat Enterprise Linux BaseOS (v. 9) python-setuptools 53.0.0-13.el9_6.1, python3-setuptools 53.0.0-13.el9_6.1, python3-setuptools-wheel 53.0.0-13.el9_6.1
    fixed: vendor fix RHSA-2025:10407
  • Red Hat Enterprise Linux BaseOS (v. 10) python-setuptools 69.0.3-12.el10_0, python3-setuptools 69.0.3-12.el10_0
    fixed: vendor fix RHSA-2025:9940
  • Red Hat Enterprise Linux BaseOS AUS (v. 8.2) python-setuptools 39.2.0-5.el8_2.2, python3-setuptools 39.2.0-5.el8_2.2, python3-setuptools-wheel 39.2.0-5.el8_2.2, platform-python-setuptools 39.2.0-5.el8_2.2
    fixed: vendor fix RHSA-2025:11426
  • Red Hat Enterprise Linux BaseOS AUS (v.8.4) python-setuptools 39.2.0-6.el8_4.2, python3-setuptools 39.2.0-6.el8_4.2, python3-setuptools-wheel 39.2.0-6.el8_4.2, platform-python-setuptools 39.2.0-6.el8_4.2
    fixed: vendor fix RHSA-2025:11425
  • Red Hat Enterprise Linux BaseOS AUS (v.8.6) python-setuptools 39.2.0-7.el8_6.2, python3-setuptools 39.2.0-7.el8_6.2, python3-setuptools-wheel 39.2.0-7.el8_6.2, platform-python-setuptools 39.2.0-7.el8_6.2 Red Hat Enterprise Linux BaseOS E4S (v.8.6) python-setuptools 39.2.0-7.el8_6.2, python3-setuptools 39.2.0-7.el8_6.2, python3-setuptools-wheel 39.2.0-7.el8_6.2, platform-python-setuptools 39.2.0-7.el8_6.2
    fixed: vendor fix RHSA-2025:11424
  • Red Hat Enterprise Linux BaseOS E4S (v.8.8) python-setuptools 39.2.0-7.el8_8.3, python3-setuptools 39.2.0-7.el8_8.3, python3-setuptools-wheel 39.2.0-7.el8_8.3, platform-python-setuptools 39.2.0-7.el8_8.3
    fixed: vendor fix RHSA-2025:11427

20 more fixed, 15 more not affected in the full advisory

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
Proof of concept is public
Automatable
yes
Technical impact
partial
Assessed
17 mo ago

Exploit prediction

1.59% chance of exploitation in the next 30 days, higher than 75% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/pypa/setuptools/issues/4946 referenced PoC, tagged "exploit" by a source, unverified
  • github.com https://github.com/pypa/setuptools/security/advisories/GHSA-5rjg-fvgr-3xxf referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 4.0 7.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P
CNA 4.0 7.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
NVD 3.1 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
OSV 3.1 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
pypi setuptools
<78.1.1
78.1.1
bitnami setuptools
<78.1.1
78.1.1

Affected products

  • pypa setuptools

Classification

Weakness
  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.