【漏洞通告】 Jenkins CLI 任意文件读取漏洞

漏洞概况

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。Jenkins 有一个内置的命令行界面(CLI),可从脚本或 shell 环境访问 Jenkins。处理 CLI 命令时, Jenkins 使用args4j库解析 Jenkins 控制器上的命令参数和选项。

Jenkins处理CLI命令的命令解析器中的expandAtFile功能存在任意文件读取漏洞,未经身份认证的远程攻击者利用该漏洞可以读取部分文件的有限行内容,攻击者经过身份验证或目标Jenkins更改了默认"Security"配置可以通过该漏洞读取任意文件,攻击者进一步利用该漏洞并结合其他功能可能导致任意代码执行。

值得一提的是,通过该漏洞读取到完整文件内容的前提是需要攻击者使用的鉴权用户拥有 Overall/Read 权限,而Jenkins默认安装的匿名用户并没有 Overall/Read 权限,所以通过匿名用户只能读取到文件的部分内容。

漏洞编号

QVD-2024-3674,CVE-2024-23897

影响版本

Jenkins <= 2.441

Jenkins LTS <= 2.426.2

|------------|-----------|--------------------|---------|
| 2024-01-25 | 影响量级 | 十万级 |
| 奇安信评级 | 高危 | CVSS 3.1分数 | 9.8 |
| 威胁类型 | 信息泄露,代码执行 | 利用可能性 | |
| POC状态 | 已公开 | 在野利用状态 | 未发现 |
| EXP状态 | 未公开 | 技术细节状态 | 已公开 |

**利用条件:**经过身份验证或Jenkins配置了"Allow anonymous read access"或"Anyone can do anything"。

漏洞复现

可下载本地环境测试,或者从网上找,但是不要进行破坏活动。

前往X情报社区资产测绘查看影响资产详情:​​​​​​https://x.threatbook.com/v5/survey?q=app%3D"Jenkins"

找了几个地址,发现有个是已匿名用户登录的,权限较小,可从这里下载Jenkins-CLI.jar包

执行poc

java -jar jenkins-cli.jar -s http://XXX:8080/ help @/etc/passwd

由于读取的文件内容最后是通过异常返回的,因此不同的命令返回的结果长度不同,如果没有权限,则只能使用help或者who-am-i命令,返回的长度有限。但是当攻击者具备Overall/Read权限时,就可以使用更多jenkins命令,从而读取更多文件内容。这里仅仅分析漏洞原理,不在深究。

想高权限读取可以自己搭建测试环境。

05 处置建议

安全更新

目前官方已有可更新版本,建议受影响用户升级至:

Jenkins >= 2.442

Jenkins LTS >= 2.426.3

下载链接:https://www.jenkins.io/download/

缓解措施

**禁用CLI或限制访问:**如果不需要使用Jenkins CLI,可以在Jenkins配置中禁用CLI功能。如果需要使用CLI,请限制对CLI的访问权限,并仅授权给受信任的用户。

通用建议

  • 最小权限原则:按照最小权限原则,为用户和插件分配适当的权限级别,仅提供其所需的操作和功能。

  • 安全配置:仔细配置Jenkins的安全设置,包括启用CSRF保护、禁用不必要的功能和插件、限制对重要文件和密钥的访问等。

  • 密钥管理:妥善管理和保护Jenkins中使用的密钥,包括限制对密钥文件的访问权限、定期更换密钥、使用安全的密钥存储等。

  • 审查日志:定期审查Jenkins的日志文件,以及监控和检测任何可疑活动或异常行为。

相关推荐
网络研究院3 小时前
Android 安卓内存安全漏洞数量大幅下降的原因
android·安全·编程·安卓·内存·漏洞·技术
l1x1n08 小时前
No.2 笔记 | 网络安全攻防:PC、CS工具与移动应用分析
安全·web安全
醉颜凉10 小时前
银河麒麟桌面操作系统V10 SP1:取消安装应用的安全授权认证
运维·安全·操作系统·国产化·麒麟·kylin os·安全授权认证
小小工匠14 小时前
Web安全 - 路径穿越(Path Traversal)
安全·web安全·路径穿越
不灭锦鲤17 小时前
ssrf学习(ctfhub靶场)
网络·学习·安全
网络研究院19 小时前
如何安全地大规模部署 GenAI 应用程序
网络·人工智能·安全·ai·部署·观点
DonciSacer1 天前
TryHackMe 第6天 | Web Fundamentals (一)
安全
云卓科技1 天前
无人机之数据提取篇
科技·安全·机器人·无人机·制造
山兔11 天前
工控安全防护机制与技术
安全
HEX9CF1 天前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss