nmap扫描到漏洞漏洞/漏洞分析 | Jenkins 未授权文件读取漏洞(CVE-2024-23897)_新手信息安全自学
是一个流行的开源持续集成(CI)和持续交付(CD)工具,它可以帮助团队自动化软件开发中的各种任务和流程,从而提高效率和质量。
有一个内置的命令行界面 (CLI),可以从脚本或 shell 环境访问 。由于使用 库解析CLI命令参数的功能存在缺陷,攻击者可利用该漏洞读取 控制器文件系统上的任意文件,并结合其他功能可能导致任意代码执行。目前漏洞POC已公开,风险较高。
漏洞原理
提供了一个命令行的接口,用户可以下载一个命令行客户端-cli.jar到本地,并调用该客户端来执行一些的功能。
用户使用-cli.jar时,命令行是传到服务端解析的,而不是在-cli.jar里解析。服务端解析命令行时使用了一个第三方库,这个库实现了Linux中一个常见的功能——如果一个参数是以@开头,则会被自动认为是一个文件名,文件内容会被读取作为参数。是在服务端解析的命令行参数,又支持的这个特性,所以造成文件读取漏洞。该漏洞需要启动时设置一个环境变量“DEBUG=1”。
漏洞影响
2.441及以前的版本。
靶场环境
-.yaml
本次部署的的版本为2.441。
攻击流程
本地起环境后,通过本地直接下载
在进行攻击的时候有多种参数攻击方式,不同的方式读取的行数有区别
/proc/self/
通过的根目录,再进行读取下面这些敏感文件。
旧版本用户密码是加密而不是哈希,可以利用诸如-这样的工具来解密密码。
解决方案
更新至最新版本以解决该漏洞,现.442、LTS 2.426.3已禁用相关命令解析器功能。
网络访问控制:配置适当的网络防火墙规则,限制对服务器和应用的访问。只允许来自受信任的IP地址或网络范围的请求通过,并阻止外部非授权访问。
塞讯验证规则
针对该漏洞的攻击模拟已经加入到塞讯安全度量验证平台中,您可以在塞讯安全度量验证平台中搜索关键词“CVE-2024-23897”或“”获取相关攻击模拟验证动作,从而验证您的安全防御体系是否能够有效应对该漏洞,平台以业界独有方式确保您的验证过程安全无害。
~
网络安全学习,我们一起交流
~