diff --git a/services/worker/Dockerfile b/services/worker/Dockerfile index 48830a8..ed0ca6a 100644 --- a/services/worker/Dockerfile +++ b/services/worker/Dockerfile @@ -46,7 +46,7 @@ COPY --from=builder --chown=10001:10001 /app /app # (spdystream, fixed in 0.5.1) — trivy fails the build on them and is right to. # Deliberately 3.x: helm 4 is a breaking change and is not a CVE fix. COPY --from=alpine/helm:3.21.3@sha256:35da09ba0716fc7c3cd63b6b31ee380a9c7662e95f29ab0e4ae962420afd315b /usr/bin/helm /usr/local/bin/helm -# kubectl 1.35.3 from the OFFICIAL registry.k8s.io image, replacing +# kubectl 1.36.2 from the OFFICIAL registry.k8s.io image, replacing # bitnamilegacy/kubectl:1.31.2. Two reasons, either sufficient: # - CVEs: the bitnami image is Go 1.22.9 and ships containerd < 1.7.29 (HIGH # CVE-2024-25621) along with the same crypto/tls and grpc CRITICALs as helm above. @@ -55,7 +55,12 @@ COPY --from=alpine/helm:3.21.3@sha256:35da09ba0716fc7c3cd63b6b31ee380a9c7662e95f # bitnamilegacy publishes no 1.35 tag. registry.k8s.io/kubectl is the upstream-maintained # image, is a manifest list with linux/arm64 (this cluster is Ampere), and puts the binary # at /bin/kubectl rather than bitnami's /opt/bitnami path. -COPY --from=registry.k8s.io/kubectl:v1.35.3@sha256:8dad99b604a2c0bafe17f53cadf78482d6f667a6da687f385508f5f4e4696d37 /bin/kubectl /usr/local/bin/kubectl +# +# 1.36.2 rather than 1.36.x-matching-the-cluster: k8s v1.35.x vendors +# github.com/moby/spdystream v0.5.0, which carries CVE-2026-35469 (HIGH, fixed in +# 0.5.1). v1.36.2 vendors 0.5.1. trivy blocks the release on it, correctly. One +# minor ahead of the v1.35.3 API server is inside kubectl's supported +/-1 window. +COPY --from=registry.k8s.io/kubectl:v1.36.2@sha256:b0d792e0d8dfb9bb1b922b78b23137e2a34bb6f9667640353a9d2aadd1fd7761 /bin/kubectl /usr/local/bin/kubectl ENV PATH="/app/.venv/bin:$PATH" \ PYTHONUNBUFFERED=1 \