From dd69da513a1a163d3e5ede93c1fb0ae8e2071bc3 Mon Sep 17 00:00:00 2001 From: Moryan Tchoumi Noukoua Date: Tue, 4 Aug 2026 16:49:22 -0400 Subject: [PATCH] RHAIENG-5305, RHAIENG-5303: fix(cve): CVE-2026-44432, CVE-2026-44431 - update urllib3 to 2.7.0 CVE-2026-44432: DoS via excessive HTTP response decompression (CVSS 7.5) CVE-2026-44431: Information disclosure via cross-origin redirects (CVSS 5.3) - Add urllib3>=2.7.0 constraint to dependencies/cve-constraints.txt - Update odh-notebooks-meta-runtime-elyra-deps urllib3 pin from ~=2.6.0 to ~=2.7.0 - Regenerate affected pylock.toml files Co-Authored-By: Claude Opus 4.6 Co-authored-by: Cursor --- dependencies/cve-constraints.txt | 4 ++++ .../odh-notebooks-meta-runtime-elyra-deps/pyproject.toml | 2 +- jupyter/datascience/ubi9-python-3.12/pylock.toml | 6 +++--- jupyter/minimal/ubi9-python-3.12/pylock.toml | 6 +++--- runtimes/datascience/ubi9-python-3.12/pylock.toml | 6 +++--- runtimes/minimal/ubi9-python-3.12/pylock.toml | 6 +++--- runtimes/pytorch+llmcompressor/ubi9-python-3.12/pylock.toml | 6 +++--- runtimes/pytorch/ubi9-python-3.12/pylock.toml | 6 +++--- runtimes/rocm-pytorch/ubi9-python-3.12/pylock.toml | 6 +++--- runtimes/rocm-tensorflow/ubi9-python-3.12/pylock.toml | 6 +++--- runtimes/tensorflow/ubi9-python-3.12/pylock.toml | 6 +++--- 11 files changed, 32 insertions(+), 28 deletions(-) diff --git a/dependencies/cve-constraints.txt b/dependencies/cve-constraints.txt index 30b8cfaeb2..6887cb4d4a 100644 --- a/dependencies/cve-constraints.txt +++ b/dependencies/cve-constraints.txt @@ -29,3 +29,7 @@ pyjwt>=2.12.0 # RHAIENG-4277: CVE-2026-34445 ONNX: DoS and info disclosure via malicious model metadata onnx>=1.21.0 + +# RHAIENG-5305, RHAIENG-5303: CVE-2026-44432 DoS via excessive HTTP response decompression; +# CVE-2026-44431 Information disclosure via cross-origin redirects forwarding sensitive headers +urllib3>=2.7.0 diff --git a/dependencies/odh-notebooks-meta-runtime-elyra-deps/pyproject.toml b/dependencies/odh-notebooks-meta-runtime-elyra-deps/pyproject.toml index 6731624f06..3c9a1ef3d1 100644 --- a/dependencies/odh-notebooks-meta-runtime-elyra-deps/pyproject.toml +++ b/dependencies/odh-notebooks-meta-runtime-elyra-deps/pyproject.toml @@ -22,7 +22,7 @@ dependencies = [ "requests~=2.32.5", "tornado~=6.5.2", "traitlets~=5.14.3", - "urllib3~=2.6.0", + "urllib3~=2.7.0", ] [tool.uv] diff --git a/jupyter/datascience/ubi9-python-3.12/pylock.toml b/jupyter/datascience/ubi9-python-3.12/pylock.toml index 7a0d980bdb..bc6f244aba 100644 --- a/jupyter/datascience/ubi9-python-3.12/pylock.toml +++ b/jupyter/datascience/ubi9-python-3.12/pylock.toml @@ -4937,10 +4937,10 @@ wheels = [{ url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32 [[packages]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" marker = "python_full_version == '3.12.*' and implementation_name == 'cpython' and sys_platform == 'linux'" -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", upload-time = 2026-01-07T16:24:43Z, size = 435556, hashes = { sha256 = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" } } -wheels = [{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", upload-time = 2026-01-07T16:24:42Z, size = 131584, hashes = { sha256 = "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" } }] +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] [[packages]] name = "uvicorn" diff --git a/jupyter/minimal/ubi9-python-3.12/pylock.toml b/jupyter/minimal/ubi9-python-3.12/pylock.toml index a346bf19b6..364025d6ea 100644 --- a/jupyter/minimal/ubi9-python-3.12/pylock.toml +++ b/jupyter/minimal/ubi9-python-3.12/pylock.toml @@ -1898,10 +1898,10 @@ wheels = [{ url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32 [[packages]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" marker = "python_full_version == '3.12.*' and implementation_name == 'cpython' and sys_platform == 'linux'" -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", upload-time = 2026-01-07T16:24:43Z, size = 435556, hashes = { sha256 = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" } } -wheels = [{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", upload-time = 2026-01-07T16:24:42Z, size = 131584, hashes = { sha256 = "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" } }] +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] [[packages]] name = "wcwidth" diff --git a/runtimes/datascience/ubi9-python-3.12/pylock.toml b/runtimes/datascience/ubi9-python-3.12/pylock.toml index 179652cf61..da0ca4f431 100644 --- a/runtimes/datascience/ubi9-python-3.12/pylock.toml +++ b/runtimes/datascience/ubi9-python-3.12/pylock.toml @@ -4106,10 +4106,10 @@ wheels = [{ url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6 [[packages]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" marker = "python_full_version == '3.12.*' and implementation_name == 'cpython' and sys_platform == 'linux'" -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", upload-time = 2026-01-07T16:24:43Z, size = 435556, hashes = { sha256 = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" } } -wheels = [{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", upload-time = 2026-01-07T16:24:42Z, size = 131584, hashes = { sha256 = "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" } }] +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] [[packages]] name = "uvicorn" diff --git a/runtimes/minimal/ubi9-python-3.12/pylock.toml b/runtimes/minimal/ubi9-python-3.12/pylock.toml index bd6361d703..6969cde0de 100644 --- a/runtimes/minimal/ubi9-python-3.12/pylock.toml +++ b/runtimes/minimal/ubi9-python-3.12/pylock.toml @@ -1729,10 +1729,10 @@ wheels = [{ url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a [[packages]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" marker = "python_full_version == '3.12.*' and implementation_name == 'cpython' and sys_platform == 'linux'" -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", upload-time = 2026-01-07T16:24:43Z, size = 435556, hashes = { sha256 = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" } } -wheels = [{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", upload-time = 2026-01-07T16:24:42Z, size = 131584, hashes = { sha256 = "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" } }] +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] [[packages]] name = "wcwidth" diff --git a/runtimes/pytorch+llmcompressor/ubi9-python-3.12/pylock.toml b/runtimes/pytorch+llmcompressor/ubi9-python-3.12/pylock.toml index 1b2ffb36fd..8bd7912955 100644 --- a/runtimes/pytorch+llmcompressor/ubi9-python-3.12/pylock.toml +++ b/runtimes/pytorch+llmcompressor/ubi9-python-3.12/pylock.toml @@ -4621,10 +4621,10 @@ wheels = [{ url = "https://files.pythonhosted.org/packages/ce/e4/dccd7f47c4b6421 [[packages]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" marker = "python_full_version == '3.12.*' and implementation_name == 'cpython' and sys_platform == 'linux'" -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", upload-time = 2026-01-07T16:24:43Z, size = 435556, hashes = { sha256 = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" } } -wheels = [{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", upload-time = 2026-01-07T16:24:42Z, size = 131584, hashes = { sha256 = "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" } }] +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] [[packages]] name = "uvicorn" diff --git a/runtimes/pytorch/ubi9-python-3.12/pylock.toml b/runtimes/pytorch/ubi9-python-3.12/pylock.toml index fb19bb670e..830cf0e5fa 100644 --- a/runtimes/pytorch/ubi9-python-3.12/pylock.toml +++ b/runtimes/pytorch/ubi9-python-3.12/pylock.toml @@ -4352,10 +4352,10 @@ wheels = [{ url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6 [[packages]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" marker = "python_full_version == '3.12.*' and implementation_name == 'cpython' and sys_platform == 'linux'" -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", upload-time = 2026-01-07T16:24:43Z, size = 435556, hashes = { sha256 = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" } } -wheels = [{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", upload-time = 2026-01-07T16:24:42Z, size = 131584, hashes = { sha256 = "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" } }] +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] [[packages]] name = "uvicorn" diff --git a/runtimes/rocm-pytorch/ubi9-python-3.12/pylock.toml b/runtimes/rocm-pytorch/ubi9-python-3.12/pylock.toml index c202040a03..5bb72cffc1 100644 --- a/runtimes/rocm-pytorch/ubi9-python-3.12/pylock.toml +++ b/runtimes/rocm-pytorch/ubi9-python-3.12/pylock.toml @@ -4196,10 +4196,10 @@ wheels = [{ url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6 [[packages]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" marker = "python_full_version == '3.12.*' and implementation_name == 'cpython' and sys_platform == 'linux'" -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", upload-time = 2026-01-07T16:24:43Z, size = 435556, hashes = { sha256 = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" } } -wheels = [{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", upload-time = 2026-01-07T16:24:42Z, size = 131584, hashes = { sha256 = "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" } }] +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] [[packages]] name = "uvicorn" diff --git a/runtimes/rocm-tensorflow/ubi9-python-3.12/pylock.toml b/runtimes/rocm-tensorflow/ubi9-python-3.12/pylock.toml index f71c3a1c9b..9d0fb78ffd 100644 --- a/runtimes/rocm-tensorflow/ubi9-python-3.12/pylock.toml +++ b/runtimes/rocm-tensorflow/ubi9-python-3.12/pylock.toml @@ -3771,10 +3771,10 @@ wheels = [{ url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6 [[packages]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" marker = "python_full_version == '3.12.*' and implementation_name == 'cpython' and sys_platform == 'linux'" -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", upload-time = 2026-01-07T16:24:43Z, size = 435556, hashes = { sha256 = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" } } -wheels = [{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", upload-time = 2026-01-07T16:24:42Z, size = 131584, hashes = { sha256 = "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" } }] +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] [[packages]] name = "virtualenv" diff --git a/runtimes/tensorflow/ubi9-python-3.12/pylock.toml b/runtimes/tensorflow/ubi9-python-3.12/pylock.toml index 0fb8890e5f..22de9bc77b 100644 --- a/runtimes/tensorflow/ubi9-python-3.12/pylock.toml +++ b/runtimes/tensorflow/ubi9-python-3.12/pylock.toml @@ -4497,10 +4497,10 @@ wheels = [{ url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6 [[packages]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" marker = "python_full_version == '3.12.*' and implementation_name == 'cpython' and sys_platform == 'linux'" -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", upload-time = 2026-01-07T16:24:43Z, size = 435556, hashes = { sha256 = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed" } } -wheels = [{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", upload-time = 2026-01-07T16:24:42Z, size = 131584, hashes = { sha256 = "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" } }] +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", upload-time = 2026-05-07T16:13:18Z, size = 433602, hashes = { sha256 = "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } } +wheels = [{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", upload-time = 2026-05-07T16:13:17Z, size = 131087, hashes = { sha256 = "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" } }] [[packages]] name = "uvicorn"