Skip to content

Commit 995c650

Browse files
[universal] Update setuptools package for Python v3.9 due to CVE-2022-40897 (devcontainers#519)
* [universal] Update setuptools due to CVE-2022-40897 - Bump Python 3.9 minor version - Updated Dockerfile to install updated versions of `setuptools` package - Added test to verify `setuptools` minimum version * Revert "[universal] Update setuptools due to CVE-2022-40897" This reverts commit 011db92. * Rework: [universal] Update setuptools due to CVE-2022-40897 - Bump Python version 3.9.7 -> 3.9.16 - Update `setup-user` local feature to install updated `setuptools` package for Python v3.9.16 - Add tests to verify the `setuptools` minimum version for Python distributions * Address review comments - Replace Python minor version with an asterisk in the path to make the path to Python distribution universal - Update tests to provide more context regarding version checks
1 parent acd756b commit 995c650

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

src/universal/.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"./local-features/nvs": "latest",
2525
"ghcr.io/devcontainers/features/python:1": {
2626
"version": "3.10.4",
27-
"additionalVersions": "3.9.7",
27+
"additionalVersions": "3.9.16",
2828
"installJupyterlab": "true",
2929
"configureJupyterlabAllowOrigin": "*"
3030
},

src/universal/.devcontainer/local-features/setup-user/install.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ sudo_if() {
4545
# They are installed by the base image (python) which does not have the patch.
4646
sudo_if /usr/local/python/current/bin/python -m pip uninstall --yes setuptools
4747
sudo_if /usr/local/python/current/bin/python -m pip install --user --upgrade --no-cache-dir setuptools
48+
sudo_if /usr/local/python/3.9.*/bin/python -m pip uninstall --yes setuptools
49+
sudo_if /usr/local/python/3.9.*/bin/python -m pip install --user --upgrade --no-cache-dir setuptools
4850

4951
# Enables the oryx tool to generate manifest-dir which is needed for running the postcreate tool
5052
DEBIAN_FLAVOR="focal-scm"

src/universal/test-project/test.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,5 +189,11 @@ check-version-ge "wheel-requirement" "${wheel_version}" "0.38.1"
189189

190190
ls -la /home/codespace
191191

192+
setuptools_version_py_current=$(python -c "import setuptools; print(setuptools.__version__)")
193+
check-version-ge "setuptools-requirement-python_current" "${setuptools_version_py_current}" "65.5.1"
194+
195+
setuptools_version_py_39=$(/usr/local/python/3.9.*/bin/python -c "import setuptools; print(setuptools.__version__)")
196+
check-version-ge "setuptools-requirement-python_39" "${setuptools_version_py_39}" "65.5.1"
197+
192198
# Report result
193199
reportResults

0 commit comments

Comments
 (0)