Py学习  »  docker

Jenkins Docker 镜像中存在漏洞 (CVE-2025-32754, CVE-2025-32755)

Ots安全 • 2 周前 • 40 次点击  

在不断发展的 DevOps 自动化领域,Jenkins 是支撑各种规模组织中无数构建流水线的基石工具。但最近披露的一个漏洞揭示了某些 Jenkins 构建环境背后潜伏的威胁——SSH 构建代理 Docker 镜像中的主机密钥重用,漏洞编号为 CVE-2025-32754 和 CVE-2025-32755。

根据安全公告,该问题影响 jenkins/ssh-agent Docker 镜像(版本最高至 6.11.1)以及所有版本的已弃用的 jenkins/ssh-slave 镜像。

该公告警告称:“因此,所有基于同一版本镜像的容器都使用相同的 SSH 主机密钥。”

这意味着,每次从同一个易受攻击的镜像启动新的构建代理时,它都会重用同一组 SSH 主机密钥——这在安全系统设计中是一个严重的错误。主机密钥旨在向客户端唯一地标识服务器,并构成 SSH 连接中信任的加密支柱。跨容器重用它们会破坏这种信任。

如果攻击者能够将自己定位在 Jenkins 主服务器(SSH 客户端)和其中一个使用相同密钥的构建代理之间,他们就可以伪装成合法代理,而不会引发任何 SSH 真实性警告。这为各种供应链和数据完整性攻击打开了大门,包括:

  • 拦截或修改构建工件

  • 收集构建期间使用的凭证或机密

  • 将恶意代码注入构建管道

该建议解释说:“这使得攻击者能够将自己插入 SSH 客户端(通常是 Jenkins 控制器)和 SSH 构建代理之间的网络路径,以冒充后者。”

Jenkins 已在 6.11.2 版本中发布了更新的 jenkins/ssh-agent 镜像,其中引入了一项关键变化:

基于 Debian 的 jenkins/ssh-agent 6.11.2 Docker 镜像会删除镜像创建过程中自动生成的 SSH 主机密钥。新的主机密钥会在容器首次启动时生成。

这意味着每个新容器在启动时都会获得一组新的 SSH 密钥,从而恢复控制器和代理之间安全、基于信任的握手。

不幸的是,对于仍然依赖旧版 jenkins/ssh-slave 镜像的用户来说,有一个坏消息。该镜像已被弃用,并且不会再更新。Jenkins 敦促用户立即迁移到 jenkins/ssh-agent,以获得持续的支持和安全保障:

“ jenkins/ssh-slave 已弃用,不会更新。请改用 jenkins/ssh-agent。”


感谢您抽出

.

.

来阅读本文

点它,分享点赞在看都在这里


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/181017
 
40 次点击