Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Sidecar image ships pip; its vendored libraries show up as image vulnerabilities (e.g. setuptools CVE-2025-47273)

オープン 初心者向け
#1,187 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
docker, python
領域
devops, security

調査の方向性

containers/Dockerfile.sidecarから始めて、/venvがどのように構築され、最終イメージにコピーされるかを調べてください。実行時要件のうちpipまたはwheelが必要なものを確認し、sidecarイメージをビルドしてスキャンし、pipに同梱されたライブラリが含まれていない一方で、sidecarが必要な依存関係とともに引き続き動作することを確認してください。

索引モデルが issue の本文から書いたものです。

説明

Summary

The sidecar image (plugin-barman-cloud-sidecar) ships pip (and wheel) inside /venv. Neither is used at runtime, but scanners report the libraries pip vendors as vulnerable packages of the image. Since v0.15.0 this includes a HIGH finding that did not show up with v0.14.0.

Details

containers/Dockerfile.sidecar (same on v0.15.1 and main):

RUN python3 -m venv /venv && \
    /venv/bin/pip install --upgrade pip wheel && \
    /venv/bin/pip install --no-cache-dir -r sidecar-requirements.txt
...
COPY --from=pythonbuilder /venv /venv

So the final distroless image contains the latest pip. pip 26.2.2 vendors setuptools==70.3.0 (only pkg_resources), msgpack==1.1.2, urllib3==2.7.0 and certifi, see src/pip/_vendor/vendor.txt.

Trivy (operator v0.30.1) on plugin-barman-cloud-sidecar:v0.15.1 reports, among others:

Package Installed Finding Fixed
setuptools 70.3.0 CVE-2025-47273 (HIGH) 78.1.1
msgpack 1.1.2 GHSA-6v7p-g79w-8964 (HIGH) 1.2.1
certifi 2026.6.17 and 2026.7.22 (two copies) GHSA-6q48-6c7w-9gw2 (CRITICAL) 2026.10.19

The pip maintainers consider the setuptools and msgpack findings not exploitable through pip (pypa/pip#14224, pypa/pip#14031). That is fine for pip itself, but every user of the sidecar still has to triage or suppress these findings, and they come back with every pip release that lags its vendored libraries.

My guess at why setuptools only appears from v0.15.0 on: #983 dropped setuptools from the sidecar requirements, so the only copy left is pip's vendored one. I have not verified this.

Proposal

Keep pip out of the runtime image, since nothing at runtime installs packages. For example:

RUN python3 -m venv /venv && \
    /venv/bin/pip install --upgrade pip wheel && \
    /venv/bin/pip install --no-cache-dir -r sidecar-requirements.txt && \
    /venv/bin/pip uninstall -y pip wheel

Alternatively, create the runtime venv with --without-pip and install into it with the builder's pip (pip --python /venv/bin/python install ...).

That removes all of pip's vendored copies from the image at once. It also removes one certifi copy, so the bundled CA store is the one from sidecar-requirements.txt only.

Environment

  • plugin-barman-cloud v0.15.1 (sidecar ghcr.io/cloudnative-pg/plugin-barman-cloud-sidecar:v0.15.1)
  • CloudNativePG on Kubernetes 1.34, scanned with trivy-operator v0.30.1
主要言語
Go
スター
204
フォーク
86
平均マージ
1日 21時間
マージ済み PR(30日)
40

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

cloudnative-pg/plugin-barman-cloud のほかの issue

cloudnative-pg/plugin-barman-cloud の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。