Jenkins任意文件读取漏洞 0x01 简介 Jenkins是一个基于Java开发的持续集成(CI)和持续交付(CD)的开源工具,用于自动化构建、测试和部署软件项目。它提供了一个可扩展的平台,使开发团队能够集成和自动化各种工作流程,以减少手动操作和提高交付速度。 0x02 漏洞概述 漏洞编号:CVE-2024-23897 漏洞类型:任意文件读取、RCE 漏洞登记:严重 Jenkins 存在任意文件读取漏洞,攻击者可利用该漏洞通过 Jenkins Cli 工具读取服务器上任意文件。 Jenkins 有一个内置的命令行界面(CLI),可从脚本或 shell 环境访问 Jenkins。处理 CLI 命令时, Jenkins 使用args4j 库解析 Jenkins 控制器上的命令参数和选项。 由于Jenkins受影响版本中默认启用其CLI命令解析器的一个功能,特定的解析器功能expandAtFiles可将@参数中后跟文件路径的字符替换为文件内容,可能导致威胁者读取 Jenkins 控制器文件系统上的任意文件,或可以进一步利用该漏洞在多种情况下导致远程代码执行。 0x03 影响版本 Jenkins weekly <= 2.441 Jenkins LTS <= 2.426.2 0x04 修复建议 禁用 Jenkins Cli,参考链接:https://github.com/jenkinsci-cert/SECURITY-3314-3315 目前该漏洞已经修复,受影响用户可升级到Jenkins 2.442、LTS 2.426.3。 下载链接:https://www./download/ 如果无法升级,可以通过以下方式进行防护: 移除Jenkins的/userContent目录的读取权限。 对于Jenkins的其他静态资源,如插件、配置文件等,确保权限设置正确,不要给予恶意用户读取权限。 如果使用了代理或者反向代理,确保相关配置正确,不会导致敏感信息泄露。 对于Web接口,如果不需要,应当禁用或限制访问权限。 具体操作可能需要根据你的服务器操作系统和Jenkins配置进行调整。 |
|