CVSS评分:8.8
CVE-2024-43044_ Jenkins agent connections 文件读取漏洞
- [1. 漏洞介绍](#1. 漏洞介绍)
- [2. 漏洞危害](#2. 漏洞危害)
- [3. 漏洞修复](#3. 漏洞修复)
1. 漏洞介绍
Jenkins是基于Java开发的一种持续集成工具,Jenkins Agent是Jenkins自动化架构中的组件,Jenkins 可以通过部署在服务器等上的agent执行构建和部署任务。由于 ClassLoaderProxy#fetchJar 方法未对 agent 端的请求路径进行限制,具有Agent/Connect权限的攻击者可通过 Channel#preloadJar Api读取控制端上任意文件(包括配置文件、密码等),进一步利用可能导致攻击者通过读取敏感数据接管后台,进而在目标服务器远程执行任意代码。
漏洞利用介绍:https://blog.convisoappsec.com/analysis-of-cve-2024-43044/
漏洞利用脚本:https://github.com/convisolabs/CVE-2024-43044-jenkins
2. 漏洞危害
要成功利用此漏洞,攻击者需要,获取对 Jenkins Agent/Connect 权限,Agent 节点安全性远弱于 Controller,成功利用该漏洞后,攻击者可远程从控制器读取任意文件,结合已泄露凭据或构建脚本/插件操作,可能触发更严重的 RCE
由于需要前置条件,微步上只定义为中风险漏洞:

3. 漏洞修复
漏洞已在下列版本中修复:
| Jenkins 版本 | 说明 |
|---|---|
| 2.471+ | Weekly 修复版本 |
| 2.452.4+ | LTS 修复版本 |
| 2.462.1+ | LTS 修复(补丁回滚/调整) |
在修改版本中添加了一个判断函数,限制 jarUrl 只能为插件Jar包:
https://github.com/jenkinsci/jenkins/commit/3f54c41b40db9e4ae7afa4209bc1ea91bb9175c0