【漏洞通告】 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的日志文件,以及监控和检测任何可疑活动或异常行为。

相关推荐
2301_795167201 小时前
玩转Rust高级应用 如何让让运算符支持自定义类型,通过运算符重载的方式是针对自定义类型吗?
开发语言·后端·算法·安全·rust
❥ღ Komo·2 小时前
Elasticsearch单机部署全指南
运维·jenkins
合作小小程序员小小店3 小时前
web安全开发,在线%服务器日志入侵检测%系统安全开发,基于Python,flaskWeb,正则表达式检测,mysql数据库
服务器·python·安全·web安全·flask·安全威胁分析·安全架构
Fanmeang5 小时前
华为防火墙基础功能详解:构建网络安全的基石
运维·网络·安全·华为·防火墙·策略·安全域
数字供应链安全产品选型6 小时前
公示 | 悬镜安全通过首批《信息技术 软件物料清单数据格式规范》行业标准符合性试点验证
安全
AWS官方合作商6 小时前
AWS Lambda的安全之道:S3静态加密与运行时完整性检查的双重保障
安全·云计算·aws
MarkHD6 小时前
蓝牙钥匙 第69次 蓝牙钥匙安全与便捷性平衡:从理论到实践的全方位解析
网络·人工智能·安全
还是奇怪6 小时前
隐藏在字符编码中的陷阱:深入剖析宽字节注入
数据库·sql·安全·web安全
花落已飘7 小时前
openEuler安全特性深度评测:构建企业级安全防护体系
安全·ai
pingao1413788 小时前
冰雪环境无忧测:冬季加热激光雪深监测站保障道路安全与气象研究
人工智能·安全