大工网安告[2024]020
一、 情况分析
Jenkins是一个开源的、提供持续集成服务(CI)的软件平台。Jenkins使用Remoting 库(通常为agent.jar或remoting.jar)实现控制器与代理之间的通信,该库允许代理从控制器加载类和类加载器资源,以便从控制器发送的Java对象(构建步骤等)可以在代理上执行。
近日,监测到Jenkins Remoting任意文件读取漏洞(CVE-2024-43044),由于Remoting库ClassLoaderProxy#fetchJar方法没有限制代理请求从控制器文件系统读取的路径,可能导致拥有Agent/Connect权限的攻击者从Jenkins控制器文件系统读取任意文件(如凭证、配置文件等敏感信息)并进一步利用导致远程代码执行。目前该漏洞PoC已在互联网上公开,建议客户尽快做好自查及防护。
威胁类型:代码执行。
技术类型:路径名的限制不恰当。
利用条件:拥有Agent/Connect权限。
危害描述:拥有Agent/Connect权限的攻击者从 Jenkins控制器文件系统读取任意文件(如凭证、配置文件等敏感信息)并进一步利用导致远程代码执行。
目前,已成功复现Jenkins Remoting任意文件读取漏洞(CVE-2024-43044),截图如下:

二、 影响版本
Jenkins <= 2.470
Jenkins LTS <= 2.452.3
Jenkins Remoting 版本 <= 3256.v88a_f6e9221523206.3208.v409508a_675ff和3248.3250.v3277a_8e88c9b_除外)
三、 处置建议
目前官方已发布安全更新,建议受影响用户升级至最新版本:
Jenkins 2.471、LTS 2.452.4、LTS 2.462.1或更高版本
官方下载地址:https://www.jenkins.io/download/