千家信息网

Jenkins任意文件读取CVE-2018-1999002漏洞的示例分析

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍了Jenkins任意文件读取CVE-2018-1999002漏洞的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下
千家信息网最后更新 2025年12月02日Jenkins任意文件读取CVE-2018-1999002漏洞的示例分析

这篇文章主要介绍了Jenkins任意文件读取CVE-2018-1999002漏洞的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、 漏洞背景

Jenkins官方发布最新安全通告,披露多个安全漏洞。其中,SECURITY-914是由Orange发现的Jenkins未授权任意文件读取漏洞,存在高危风险。

利用该漏洞,攻击者可以读取Windows系统服务器中的任意文件,且在特定而条件下也可以读取Linux系统服务器中的文件。通过利用该文件读取漏洞,攻击者可以获取Jenkins系统的凭证信息,导致用户的敏感信息遭到泄露。同时,Jenkins的部分凭证可能与其用户的帐号密码相同,攻击者获取到凭证信息后甚至可以直接登录Jenkins系统进行命令执行操作等。

二、 漏洞概要

谁应该读这个使用Jenkins的开发者和用户
漏洞的影响在Jenkins的Stapler Web框架中存在任意文件读取漏洞。恶意攻击者可以通过发送精心构造的HTTP请求在未经授权的情况下获取Jenkin主进程可以访问的Jenkins文件系统中的任意文件内容。
危害程度高危
建议· 将您的Jenkins weekly升级至2.133版本。 · 将您的Jenkins LTS升级至2.121.2版本。
受影响的软件· Jenkins weekly 2.132及此前所有版本 · Jenkins LTS 2.121.1及此前所有版本
CVE标识符CVE-2018-1999002

三、 搭建环境

安装漏洞影响范围内的Jenkins版本: Jenkins weekly 2.132及此前所有版本Jenkins LTS 2.121.1及此前所有版本,此处使用的是Jenkins LTS 2.121.1。

首先把jenkins的war包下载后放在tomcat webapps目录下,启动后自动解压war包或安装msi版本,或使用git从GitHub下载war包。

启动tomcat,访问http://localhost:8080,如果8080默认端口被占用,则可以在Jenkins安装路径下的Jenkins.xml文件中修改端口后访问。打开页面后需要解锁jenkins。在安装目录下找到initialAdminPassword文件复制密码输入到password输入框,点击continue即可进行下一步操作。

安装插件后使用管理员进行登录,环境搭建完成。

四、 触发条件

1. 进行全局安全配置,开启匿名具有可读权限。

五、 漏洞分析

doDynamic这里用来处理请求中的包含的路径,比如/plugin/xxxx。

跟入request.getLocale(),跳至Request.java

getLocale()处理Http中的Accept-Language,根据-分为language和country,language为zh,country为cn,然后return Locale(language,country),如果不存在-,language即可使用../遍历,这时返回的结果即为Locale(language,"")。

再看Stapler.java中的LocaleDrivenResourceSelector类的open方法,从注释来看,这段代码本身根据Accept-Language来返回不同文件,比如请求为/plugin/credentials/.ini,payload为_../../../../../../../../../../../windows/win,在linux下需要plugin下存在-名称目录可利用,但win下直接可以通过路径穿越绕过,达到任意文件读取效果。

六、 修复建议

1. 将您的Jenkins weekly升级至2.133版本,将您的Jenkins LTS升级至2.121.2版本。

2.如果您暂时不希望通过升级Jenkins版本解决该漏洞,建议您使用Web应用防火墙的精准访问控制功能对您的业务进行防护。

通过精准访问控制功能,针对Accept-Language这个HTTP请求头设置阻断规则过滤该请求头中包含 ../的请求,防止攻击者利用该漏洞通过目录穿越读取任意文件。

感谢你能够认真阅读完这篇文章,希望小编分享的"Jenkins任意文件读取CVE-2018-1999002漏洞的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

文件 漏洞 版本 攻击者 系统 升级 攻击 目录 篇文章 分析 安全 信息 凭证 建议 用户 路径 影响 示例 精准 功能 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有钱还互相众筹还款软件开发 系统数据处理软件开发 ormlite数据库 mc 服务器 linux 四川惠普服务器虚拟化定制服务器 湖北软件开发需要多少钱 蒙古国建设网络安全中心 严格遵守网络安全法的规定 实验室用服务器 王者荣耀竞猜软件开发 数据库 表应该如何抽象 创建表属于数据库设计的 上海通信软件开发工程师招聘信息 静姿网络技术有限公司 两千年网络技术有限公司 资阳软件开发费用是多少 db2数据库查询方法 网络安全权威认证的证书有哪些 比较小的数据库 网络安全看哪些书 正规软件开发服务电话 将文件转换成二进制传入数据库 学数据库管理系统有什么好处 长沙市岳麓区阿秋网络技术服务部 卡巴斯基服务器版 具发展潜力的服务器性能监控 软件开发培训班哪家好6 注册网络安全工程师怎么报名 阿里服务器在哪里 是不是在海里 我国第一次网络安全法
0