Prhub

#21789 Fix CVEs in Docker image: pillow, linux-libc-dev, and broken sgl-model-gateway build

原始 PR 作者 Kangyan-Zhou 合并时间 2026-04-01 11:07 文件变更 1 提交数 1 评论 1 代码增减 +10 / -7

执行摘要

修复 Docker 镜像中的安全漏洞和构建错误,显著降低 CVE 数量。

PR body 指出 Docker 镜像存在三个主要安全问题和构建缺陷:

1) Pillow CVE-2026-25990 (HIGH 级别,涉及越界写入),需升级到 12.1.1 以上;
2) linux-libc-dev 包包含 16 个内核 CVEs,需升级到最新版本;
3) Rust cargo cache CVEs 源自 sgl-model-gateway 构建失败,由于二进制从 sglang-router 重命名为 sgl-model-gateway 后 Dockerfile 未更新,导致构建错误被忽略,遗留了 2.6GB Rust 工件。目标是通过修复这些问题提升镜像安全性并优化构建流程。

建议安全团队和 DevOps 工程师精读此 PR,特别是关注 Dockerfile 中构建优化和清理机制的设计,以及依赖升级的版本管理,有助于提高容器化部署的最佳实践。

讨论亮点

Review 评论为空,没有发生讨论或争议点。

实现拆解

修改了 docker/Dockerfile 文件,关键改动点包括:在框架和运行时阶段添加并更新 linux-libc-dev 包;修复 Rust 构建步骤,将构建目标从 sglang-router 更新为 sgl-model-gateway,并使用 trap cleanup EXIT 机制确保构建完成后无条件清理 Rust 工具链和相关目录(如 /root/.cargo, /root/.rustup);同时升级 pillow 包到 12.1.1 以上。这些改动集中在一个文件中,通过依赖升级和构建流程优化解决了安全和构建问题。

文件 模块 状态 重要度
docker/Dockerfile Docker 构建基础设施 modified 6.0

关键符号

cleanup() 函数(在 Dockerfile 中定义)

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险相对较低:主要风险是依赖升级可能引入新的兼容性问题,例如 pillow 或 linux-libc-dev 版本变化可能影响现有功能;另外,Dockerfile 的 trap 机制改动可能在不正常退出时导致清理不彻底,但测试计划已验证清理效果。安全风险方面,仍有 7 个 CVEs 来自上游 hf-xet Go stdlib,未在此 PR 中解决,需依赖第三方更新。

对用户:Docker 镜像安全性和大小得到改善,减少了 77% 的 CVEs,且构建过程更可靠;对系统:降低了潜在安全攻击面,提高了部署的安全性;对团队:增强了 DevOps 流程的健壮性,支持持续集成和安全扫描。影响范围局限于 Docker 镜像构建,不影响核心业务逻辑。

依赖升级兼容性 安全修复不彻底

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论