无法在 alpine docker 镜像中安装或升级到特定版本的 alpine/expat 2.6.0-r0

无法在 alpine docker 镜像中安装或升级到特定版本的 alpine/expat 2.6.0-r0

由于最新检测到漏洞 CVE-2023-52425、CVE-2023-52426,我需要将 alpine docker 镜像中的 alpine/expat 2.5.0-r2 升级到 expat 2.6.0-r0。

我尝试了各种方法(见下文)在 docker 构建期间升级 expat 软件包版本,但生成的图像仍然显示 alpine/expat 2.5.0-r2。我将不胜感激任何关于如何做到这一点的建议。

参考: https://alpine.pkgs.org/3.19/alpine-main-x86_64/expat-2.6.0-r0.apk.html

在我的 Dockerfile 中,我尝试了以下 3 种方法来安装 expat 2.6.0-r0,但没有成功:

  1. 运行 apk update && apk add --upgrade --no-cache expat

  2. 运行卷曲-Ohttp://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/expat-2.6.0-r0.apk 运行 apk add --allow-untrusted expat-2.6.0-r0.apk

  3. 运行 apk add --upgrade --no-cache expat --repository='https://pkgs.alpinelinux.org/package/v3.19/main/x86_64/expat'

  4. 运行回显http://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/>> /etc/apk/repositories 运行 apk --no-cache --update 添加 expat在此输入图像描述

答案1

我终于设法解决了这个问题:当我分阶段构建我的形象时,如果我把

apk add --upgrade expat

在最后阶段,应用了最新版本。最初,我在构建的第二阶段应用更新,我认为更新没有传播到第三阶段。

答案2

在我的 Eclipse 构建的 Dockerfile 中FROM eclipse-temurin:17.0.9_9-jre-alpine,我添加:

RUN apk add --upgrade expat

构建 Docker 镜像后,SNYK 不再检测到任何漏洞。

相关内容