Jenkins简介
Jenkins是一个开源的、用于自动化构建、测试和部署软件项目的持续集成(Continuous Integration)工具。它提供了一个易于使用的Web界面,使开发人员能够定义和管理软件开发过程中的自动化任务。
Jenkins的主要功能包括:
-
自动化构建:Jenkins可以根据预定义的构建脚本(如Ant、Maven或Gradle)自动构建项目,并生成构建产物(如可执行文件、库文件等)。
-
持续集成:Jenkins可以根据版本控制系统(如Git、Subversion等)中代码的变更,自动触发构建和测试过程,以确保代码的稳定性和质量。
-
测试和报告:Jenkins可以集成各种测试工具(如JUnit、Selenium等),并生成测试报告,以帮助开发人员及时发现和修复问题。
-
部署和交付:Jenkins支持自动化部署软件到目标环境(如开发、测试、生产环境),并提供了可扩展的插件生态系统,以支持不同的部署需求和工具。
-
可扩展性:Jenkins提供了丰富的插件和扩展机制,可以满足各种不同的自动化需求,如构建工具、版本控制系统、测试框架、部署工具等。
Jenkins的优势在于其灵活性和可定制性。它可以根据项目的需求和团队的工作流程进行配置和扩展,帮助团队实现持续集成和持续交付的目标,提高软件开发的效率和质量。
漏洞介绍
Jenkins 有一个内置的命令行界面(CLI),可从脚本或 shell 环境访问 Jenkins。处理 CLI 命令时, Jenkins受影响版本中使用args4j库解析 Jenkins 控制器上的命令参数和选项,攻击者可利用相关特性读取 Jenkins 控制器文件系统上的任意文件
漏洞复现
未经身份验证的权限只能读取一行
-
具有Overall/Read 权限可读取完整内容
-
Jenkins默认安装的匿名用户并没有 Overall/Read 权限,只能读取一行
读取是利用报错返回的数据
漏洞分析
TODO
安全建议
1、Jenkins weekly 2.442 、Jenkins LTS 2.426.3 不受影响
2、如果没有使用 Jenkins 则不存在威胁
3、如果请求体中存在Jenkins CLI常见命令,并且存在“@/” 后面接Linux常见的文件如 @/etc/passwd,那么则为真实攻击;
5、封禁攻击者IP
6、升级至安全版本及其以上
https://www.jenkins.io/security/advisory/2024-01-24/#SECURITY-3314
原文始发于微信公众号(红蓝安全):【热点漏洞资讯】Jenkins CLI 任意文件读取漏洞[CVE-2024-23897]
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论