【漏洞通告】 Jenkins CLI 任意文件读取漏洞

漏洞概况

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。Jenkins 有一个内置的命令行界面(CLI),可从脚本或 shell 环境访问 Jenkins。处理 CLI 命令时, Jenkins 使用args4j库解析 Jenkins 控制器上的命令参数和选项。

Jenkins处理CLI命令的命令解析器中的expandAtFile功能存在任意文件读取漏洞,未经身份认证的远程攻击者利用该漏洞可以读取部分文件的有限行内容,攻击者经过身份验证或目标Jenkins更改了默认"Security"配置可以通过该漏洞读取任意文件,攻击者进一步利用该漏洞并结合其他功能可能导致任意代码执行。

值得一提的是,通过该漏洞读取到完整文件内容的前提是需要攻击者使用的鉴权用户拥有 Overall/Read 权限,而Jenkins默认安装的匿名用户并没有 Overall/Read 权限,所以通过匿名用户只能读取到文件的部分内容。

漏洞编号

QVD-2024-3674,CVE-2024-23897

影响版本

Jenkins <= 2.441

Jenkins LTS <= 2.426.2

|------------|-----------|--------------------|---------|
| 2024-01-25 | 影响量级 | 十万级 |
| 奇安信评级 | 高危 | CVSS 3.1分数 | 9.8 |
| 威胁类型 | 信息泄露,代码执行 | 利用可能性 | |
| POC状态 | 已公开 | 在野利用状态 | 未发现 |
| EXP状态 | 未公开 | 技术细节状态 | 已公开 |

**利用条件:**经过身份验证或Jenkins配置了"Allow anonymous read access"或"Anyone can do anything"。

漏洞复现

可下载本地环境测试,或者从网上找,但是不要进行破坏活动。

前往X情报社区资产测绘查看影响资产详情:​​​​​​https://x.threatbook.com/v5/survey?q=app%3D"Jenkins"

找了几个地址,发现有个是已匿名用户登录的,权限较小,可从这里下载Jenkins-CLI.jar包

执行poc

java -jar jenkins-cli.jar -s http://XXX:8080/ help @/etc/passwd

由于读取的文件内容最后是通过异常返回的,因此不同的命令返回的结果长度不同,如果没有权限,则只能使用help或者who-am-i命令,返回的长度有限。但是当攻击者具备Overall/Read权限时,就可以使用更多jenkins命令,从而读取更多文件内容。这里仅仅分析漏洞原理,不在深究。

想高权限读取可以自己搭建测试环境。

05 处置建议

安全更新

目前官方已有可更新版本,建议受影响用户升级至:

Jenkins >= 2.442

Jenkins LTS >= 2.426.3

下载链接:https://www.jenkins.io/download/

缓解措施

**禁用CLI或限制访问:**如果不需要使用Jenkins CLI,可以在Jenkins配置中禁用CLI功能。如果需要使用CLI,请限制对CLI的访问权限,并仅授权给受信任的用户。

通用建议

  • 最小权限原则:按照最小权限原则,为用户和插件分配适当的权限级别,仅提供其所需的操作和功能。

  • 安全配置:仔细配置Jenkins的安全设置,包括启用CSRF保护、禁用不必要的功能和插件、限制对重要文件和密钥的访问等。

  • 密钥管理:妥善管理和保护Jenkins中使用的密钥,包括限制对密钥文件的访问权限、定期更换密钥、使用安全的密钥存储等。

  • 审查日志:定期审查Jenkins的日志文件,以及监控和检测任何可疑活动或异常行为。

相关推荐
上海云盾-小余5 小时前
网站恶意爬虫拦截策略:智能识别与封禁实操方案
网络·爬虫·安全·web安全
2301_780789666 小时前
手游遇到攻击为什么要用SDK游戏盾手游遇到攻击为什么要用 SDK 游戏盾?
安全·web安全·游戏·架构·kubernetes·ddos
黎阳之光7 小时前
黎阳之光:视频孪生重构新能源智慧工地,打造大型风光基地数智化建设标杆
大数据·人工智能·物联网·安全·数字孪生
Agent手记7 小时前
安全生产巡检全流程自动化与隐患预警方案:2026工业Agent落地实战指南
数据库·人工智能·安全·ai·自动化
效能革命笔记8 小时前
Gitee DevSecOps 智能版本管理:军工软件工厂的依赖治理与供应链安全方案
网络·安全·gitee
未若君雅裁8 小时前
Spring Bean 作用域、线程安全与生命周期
java·安全·spring
企服AI产品测评局9 小时前
实测2026安全培训管理新范式:如何以“视觉大模型”破解AI内容生成与跨系统自动化难题?
人工智能·安全·ai·chatgpt·自动化
asaotomo9 小时前
全本地运行的隐私防线:Hx0 数据卫士如何实现浏览器敏感信息与输入防泄漏
安全·web安全·浏览器插件
沪漂阿龙10 小时前
Hermes Agent 安全边界全解析:让 AI Agent 敢执行、可控制、能回滚
人工智能·安全