python:3.11-slim镜像Libexpat漏洞修复后仍存在问题求助
解决python:3.11-slim镜像Libexpat漏洞的可行方案
python:3.11-slim镜像存在CVE-2024-45490、CVE-2024-45491、CVE-2024-45492三个Libexpat漏洞,相关修复已完成,但目前拉取的最新镜像(SHA: sha256:669bbd08353610485a94d5d0c976b4b6498c55280fe42c00f7581f85ee9f3121)仍能检测到漏洞,且Docker Hub与AWS ECR的镜像哈希完全一致。以下是几种解决思路:
手动升级镜像内的Libexpat库
基于官方镜像构建自定义镜像,在Dockerfile中添加升级步骤:FROM python:3.11-slim RUN apt-get update && apt-get install -y --no-install-recommends libexpat1 && apt-get clean && rm -rf /var/lib/apt/lists/*注:python:3.11-slim基于Debian,所以用
apt-get;如果是Alpine基础镜像需替换为apk命令。切换到带补丁的特定版本镜像
官方可能还未推送修复后的3.11-slim通用标签,可临时切换到具体小版本(如python:3.11.9-slim,需确认该版本已集成修复),或者直接升级到python:3.12-slim——更高版本通常会包含最新安全补丁。先验证镜像内Libexpat的实际版本
进入容器检查当前Libexpat版本,确认是否真的未修复:docker run --rm python:3.11-slim dpkg -l libexpat1修复这三个CVE需要Libexpat升级到2.6.2及以上版本,如果输出的版本低于这个数值,说明官方镜像还没更新底层依赖。
自定义编译Python镜像
从CPython源码编译,确保链接最新版Libexpat:FROM debian:bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends build-essential wget libexpat1-dev RUN wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz && tar xzf Python-3.11.9.tgz RUN cd Python-3.11.9 && ./configure --enable-optimizations && make -j$(nproc) && make install RUN rm -rf Python-3.11.9 Python-3.11.9.tgz && apt-get purge -y build-essential wget libexpat1-dev && apt-get clean && rm -rf /var/lib/apt/lists/*
内容的提问来源于stack exchange,提问作者Sumanshu Nankana
相关产品推荐
相关产品推荐

