Jenkins是一个开源的、提供持续集成服务(CI)的软件平台。Jenkins 使用 Remoting 库(通常为agent.jar或remoting.jar)实现控制器与代理之间的通信,该库允许代理从控制器加载类和类加载器资源,以便从控制器发送的 Java 对象(构建步骤等)可以在代理上执行。
Jenkins 多个受影响版本在Remoting库中存在任意文件读取漏洞,由于ClassLoaderProxy#fetchJar方法没有限制代理(agent)可以请求从控制器(controller)文件系统读取的路径,可能导致代理进程、以及拥有Agent/Connect权限的威胁者从Jenkins控制器文件系统读取任意文件(如凭证、配置文件等敏感信息)并可能进一步利用导致远程代码执行。
Jenkins <= 2.470
Jenkins LTS <= 2.452.3
受影响组件:
Jenkins Remoting 版本<= 3256.v88a_f6e922152(3206.3208.v409508a_675ff 和3248.3250.v3277a_8e88c9b_ 除外)
https://github.com/HwMex0/CVE-2024-43044