Skip to content

[CVE-2025-47273, CVE-2024-6345] in setuptools 67.6.1 bundled with Python 3.12 Runtime #135374

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Nishi-1412 opened this issue Jun 11, 2025 · 1 comment
Labels
type-bug An unexpected behavior, bug, or error

Comments

@Nishi-1412
Copy link

Nishi-1412 commented Jun 11, 2025

Bug report

Bug description:

Python 3.12 runtime includes a vulnerable version of setuptools (v67.6.1).
File location: /lib/python3.12/test/wheeldata/setuptools-67.6.1-py3-none-any.whl

It is present in the final runtime layer, causing vulnerability scanners to flag the image with high-severity CVEs.

While this file is not actively used by a running application, its presence on the filesystem is sufficient for security scanners to detect and report these vulnerabilities.

for other versions also, we're seeing multiple setuptools versions installed along with the latest v80.9.0

  • 3.9.23: v58.1.0
  • 3.10.18, 3.11.13: v65.5.0
  • 3.12.11, 3.13.4: v67.6.1

We wanted to know if this multiple setuptools installation behaviour is fixed in upcoming Python version upgrades.

CPython versions tested on:

3.12

Operating systems tested on:

Linux

Linked PRs

@ambv
Copy link
Contributor

ambv commented Jun 11, 2025

We're seeing multiple setuptools versions installed along with the latest v80.9.0.

On Python 3.12+ setuptools is no longer installed by default so there won't be "two versions" unless the user installs setuptools on their own. Also, importantly, the old version of setuptools is inside Lib/test/wheeldata/ and is there for internal test use, it is never installed for the user. It is safe to be removed from your runtime layer.

You're right that on older supported versions of Python (3.9, 3.10, and 3.11) setuptools is bundled as part of ensurepip. I upgraded those versions to 79.0.1.

While at it, to make it less of an issue for eager security scanners in the future, I upgraded the test/wheeldata setuptools file as well since it should be a harmless operation. There is a number of breaking changes between the previous version and v79.0.1, but they shouldn't affect our limited use case inside the tests. But since there's been a lot of reported compatibility breakage with setuptools 80.x, I opted to stay at 79.0.1.

gh-135391 upgrades test/wheeldata setuptools to 79.0.1 on 3.13.
gh-135393 upgrades test/wheeldata setuptools to 79.0.1 on 3.12.
gh-135396 upgrades ensurepip setuptools to 79.0.1 on 3.11.
gh-135398 upgrades ensurepip setuptools to 79.0.1 on 3.10.
gh-135397 upgrades ensurepip setuptools to 79.0.1 on 3.9.

Note that we don't have an immediate schedule for releasing new Python versions with the upgraded versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

2 participants