Skip to content

bumps idna to 3.15 and setuptools to 83.0.0 - #540

Merged
semx merged 1 commit into
developmentfrom
deps/idna-3.15-setuptools-83.0.0
Sep 7, 2026
Merged

semx merged 1 commit into
developmentfrom
deps/idna-3.15-setuptools-83.0.0

Conversation

@semx

@semx semx commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Closes the two open Dependabot findings that still apply to development:

package from to advisory
idna 3.11 3.15 CVE-2026-45409 / GHSA-65pc-fj4g-8rjx, crafted input to idna.encode() bypasses the CVE-2024-3651 length check and burns CPU (medium, CVSS 5.3)
setuptools 82.0.1 83.0.0 CVE-2026-59890 / GHSA-h35f-9h28-mq5c, MANIFEST.in exclusion bypass via NFC/NFD collision (medium, CVSS 6.1)

Changes: requirements.txt, the setuptools pin in pyproject.toml, and uv.lock regenerated with uv lock --upgrade-package for just these two packages (the lock diff touches nothing else). setuptools 83 requires Python 3.10+, within the project's 3.13 floor.

The urllib3 and requests alerts in the Dependabot tab are reported against main (v1.8.1); development already carries 2.7.0 and 2.34.2, so they close with the next release.

Verification

  • Clean Python 3.14 environment built the way the Dockerfile does it (pip install -r requirements.txt, then pip install --upgrade vcf-sdk): pip-audit goes from 4 findings in 2 packages (idna, setuptools) to none.
  • pip freeze before vs after differs in exactly these two packages.
  • The vSphere automation SDK imports as before (com.vmware.vapi.std_client, vmware.vapi.vsphere.client), vsphere_automation_sdk_available is True, and create_vsphere_client() gets as far as the network call. Regarding VMware SDK import fails on Python 3.12+ with setuptools >= 82 (pkg_resources removed) #497: vmware-vapi-runtime 9.1.0.0 resolves versions through importlib.metadata and only falls back to pkg_resources inside an except, so setuptools without pkg_resources is fine here (it already is on development with 82.0.1).
  • The unit tests from Fix skip_fhrp_group_ips unbinding all interface IPs and py<3.12 import (continues #476) #538 pass against the bumped environment.
  • Real docker build --platform linux/amd64 of the Dockerfile with these pins succeeds; inside the image: setuptools 83.0.0, idna 3.15, urllib3 2.7.0, requests 2.34.2, the SDK import works, netbox-sync.py --help runs, and pip-audit over the image's installed packages reports no known vulnerabilities.

Closes the two open Dependabot alerts that still apply to the
development branch:

- idna 3.11 -> 3.15: CVE-2026-45409 / GHSA-65pc-fj4g-8rjx, specially
  crafted input to idna.encode() bypasses the CVE-2024-3651 length
  check and consumes excessive CPU (medium, CVSS 5.3).
- setuptools 82.0.1 -> 83.0.0: CVE-2026-59890 / GHSA-h35f-9h28-mq5c,
  MANIFEST.in exclusion bypass via NFC/NFD collision (medium,
  CVSS 6.1). setuptools 83 requires Python 3.10+, within the
  project's 3.13+ floor.

The urllib3 and requests alerts reported against main are already
resolved on development (2.7.0 and 2.34.2).

Verified with a clean Python 3.14 environment built the way the
Dockerfile does it (pip install -r requirements.txt, then vcf-sdk):
pip-audit goes from 4 findings in 2 packages to none, only these two
packages change in the resulting environment, the vSphere automation
SDK imports and builds a client as before (pkg_resources is not
needed by vmware-vapi-runtime 9.1.0.0 at runtime), and the unit
tests pass.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant