漏洞概述 | |||
漏洞名称 | Jenkins任意文件读取漏洞 | ||
漏洞编号 | QVD-2024-3674,CVE-2024-23897 | ||
公开时间 | 2024-01-25 | 影响量级 | 十万级 |
奇安信评级 | 高危 | CVSS 3.1分数 | 9.8 |
威胁类型 | 信息泄露,代码执行 | 利用可能性 | 中 |
POC状态 | 已公开 | 在野利用状态 | 未发现 |
EXP状态 | 未公开 | 技术细节状态 | 已公开 |
利用条件:经过身份验证或Jenkins配置了“Allow anonymous read access”或”Anyone can do anything”。 |
01 漏洞详情
影响组件
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。Jenkins 有一个内置的命令行界面(CLI),可从脚本或 shell 环境访问 Jenkins。处理 CLI 命令时, Jenkins 使用args4j库解析 Jenkins 控制器上的命令参数和选项。
漏洞描述
近日,奇安信CERT监测到Jenkins官方发布新版本修复多个漏洞,其中包括Jenkins任意文件读取漏洞(CVE-2024-23897)。Jenkins处理CLI命令的命令解析器中的expandAtFile功能存在任意文件读取漏洞,未经身份认证的远程攻击者利用该漏洞可以读取部分文件的有限行内容,攻击者经过身份验证或目标Jenkins更改了默认”Security”配置可以通过该漏洞读取任意文件,攻击者进一步利用该漏洞并结合其他功能可能导致任意代码执行。
鉴于该漏洞影响范围较大,建议客户尽快做好自查及防护。
02 影响范围
影响版本
Jenkins <= 2.441
Jenkins LTS <= 2.426.2
其他受影响组件
无
03 复现情况
目前,奇安信CERT已成功复现Jenkins任意文件读取漏洞(CVE-2024-23897),截图如下:
未经身份验证可以读取文件有限行内容:
默认情况下需要用户认证才能读取文件中全部内容:
如开启以下配置,不需要用户认证便能读取文件中全部内容:
04 受影响资产情况
奇安信鹰图资产测绘平台数据显示,Jenkins任意文件读取漏洞(CVE-2024-23897)关联的国内风险资产总数为74335个,关联IP总数为69551个。国内风险资产分布情况如下:
Jenkins任意文件读取漏洞(CVE-2024-23897)关联的全球风险资产总数为213715个,关联IP总数为186974个。全球风险资产分布情况如下:
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的日志文件,以及监控和检测任何可疑活动或异常行为。
06 参考资料
[1]https://www.jenkins.io/security/advisory/2024-01-24/#SECURITY-3314
声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。