如何修复Debian11容器中libwebp6的CVE-2023-4863漏洞?
修复Debian 11容器中libwebp6的CVE-2023-4863漏洞方案
问题原因
libwebp6是系统依赖树中的间接依赖包(可能被nodejs或其他已安装库引用),直接执行apt-get remove libwebp6会触发依赖冲突导致失败。Debian 11的安全源已经推出了修复该CVE的libwebp6更新版本(0.6.1-2.1+deb11u2),只需更新系统包即可完成修复。
优化后的Dockerfile
# See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 # 合并APT命令,更新系统包并安装依赖,同时清理缓存减小镜像体积 RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y --no-install-recommends curl libpng-dev libjpeg-dev libxi6 build-essential libgl1-mesa-glx && \ curl -sL https://deb.nodesource.com/setup_lts.x | bash - && \ apt-get install -y --no-install-recommends nodejs && \ apt-get autoremove -y && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build # 同样更新系统包并合并命令,避免重复冗余 RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y --no-install-recommends curl libpng-dev libjpeg-dev libxi6 build-essential libgl1-mesa-glx && \ curl -sL https://deb.nodesource.com/setup_lts.x | bash - && \ apt-get install -y --no-install-recommends nodejs && \ apt-get autoremove -y && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* WORKDIR /src COPY ["ProjectSPA1/ProjectSPA1.csproj", "ProjectSPA1/"] RUN dotnet restore "ProjectSPA1/ProjectSPA1.csproj" COPY . . WORKDIR "/src/ProjectSPA1" RUN dotnet build "ProjectSPA1.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "ProjectSPA1.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "ProjectSPA1.dll"]
关键改动说明
- 加入
apt-get upgrade -y:强制更新所有已安装包,包括libwebp6到修复漏洞的版本。 - 合并多个
RUN命令为单个:减少镜像分层,提升构建效率和镜像整洁度。 - 使用
--no-install-recommends:避免安装不必要的依赖包,减小镜像体积。 - 添加
apt-get autoremove -y和apt-get clean:清理无用包和APT缓存,进一步压缩镜像大小。
验证修复
构建新镜像后,可通过以下命令验证libwebp6版本:
docker run --rm <your-image-name> dpkg -l libwebp6
输出中版本号应为0.6.1-2.1+deb11u2,确认漏洞已修复。
内容的提问来源于stack exchange,提问作者rajesh kumar
相关产品推荐
相关产品推荐

