Jenkins RCE 漏洞目前已公布
导语:针对 Jenkins 关键漏洞的多个概念验证 (PoC) 漏洞已公开。
Jenkins 是一种开源自动化服务器,广泛用于软件开发,特别是持续集成 (CI) 和持续部署 (CD)。它在自动化软件开发过程的各个部分(例如构建、测试和部署应用程序)方面发挥着关键作用,支持着一千多个集成插件,可供各种规模的组织使用,包括大型企业。
SonarSource 研究人员 在 Jenkins 中发现了 两个缺陷,这些缺陷使攻击者能够访问服务器中的数据并在某些条件下执行任意 CLI 命令。
第一个漏洞被评为严重漏洞,编号为 CVE-2024-23897,允许有“总体/读取”权限,未经身份验证的攻击者可以从 Jenkins 服务器上的任意文件读取数据。没有此权限的攻击者仍然可以读取文件的前几行,其数量取决于可用的 CLI 命令。
该缺陷源于 Jenkins 中args4j 命令解析器的默认行为,当参数以“@”字符开头时,该解析器会自动将文件内容扩展为命令参数,从而允许读取 Jenkins 控制器文件系统上的任意文件。
利用该特定缺陷可能会导致管理员权限升级和任意远程代码执行。然而,此步骤取决于必须满足的某些条件,这些条件对于每种攻击变体都是不同的。
开发图
第二个缺陷被追踪为 CVE-2024-23898,是一个跨站点 WebSocket 劫持问题,攻击者可以通过诱骗用户单击恶意链接来执行任意 CLI 命令。
网络浏览器中现有的保护策略应该可以减轻此错误带来的风险,但由于这些策略缺乏普遍执行,这种风险仍然存在。
SonarSource 于 2023 年 11 月 13 日向 Jenkins 安全团队报告了这些缺陷,并在接下来的几个月内帮助验证了修复程序。
2024 年 1 月 24 日,Jenkins 发布了版本 2.442 和 LTS 2.426.3 这两个缺陷的修复程序以及公告 , 分享了各种攻击场景和利用途径,以及修复说明和解决方法的更新。
可用的漏洞
许多研究人员根据现有 Jenkins 缺陷的大量信息,重现了一些攻击场景,并创建了在 GitHub 上发布的有效 PoC 漏洞。
PoC 针对 CVE-2024-23897,攻击者可以在未修补的 Jenkins 服务器上远程执行代码。其中许多 PoC 已经过验证,因此扫描暴露服务器的攻击者可以获取脚本并在进行最少修改或无需修改的情况下尝试。
此外,一些研究报告说,他们的 Jenkins 蜜罐已经捕获了野外活动,这表明黑客已经开始利用这些漏洞来进行攻击。
发表评论