Jenkins任意文件读取漏洞(CVE-2024-23897)

admin 2024年1月28日21:54:00评论91 views字数 651阅读2分10秒阅读模式

前言

Jenkins是一款开源CI&CD软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins有一个内置的命令行界面(CLI),可从脚本或shell环境访问Jenkins。处理CLI命令时,Jenkins使用args4j库解析Jenkins控制器上的命令参数和选项。

漏洞成因

在处理CLI命令时,Jenkins使用args4j库解析Jenkins控制器上的命令参数和选项。此命令解析器具有将参数中的@字符后跟文件路径替换为文件内容(expandAtFiles)的功能。此功能默认启用,Jenkins 2.441及更早版本、LTS 2.426.2及更早版本不会禁用它。

Jenkins任意文件读取漏洞(CVE-2024-23897)

影响版本范围

Jenkins <= 2.441
Jenkins LTS <= 2.426.2

漏洞复现

可以使用docker自行在本地部署环境后进行验证

docker pull jenkins/jenkins:2.426.2-lts

Jenkins任意文件读取漏洞(CVE-2024-23897)

使用命令

python3 poc.py http://x.x.x.x:8080 /etc/passwd 

Jenkins任意文件读取漏洞(CVE-2024-23897)

影响

任意文件读取:拥有Overall/Read权限的攻击者可以读取整个文件。

远程代码执行:攻击者能通过漏洞读取到二进制形式密钥

修复建议

(1) Jenkins 2.442, LTS 2.426.3已禁用相关命令解析器特性。建议更新至这些版本以解决漏洞。

(2) 收入到内网,若在公网暴露可设置ACL仅允许可信IP进行访问

原文始发于微信公众号(pentest):Jenkins任意文件读取漏洞(CVE-2024-23897)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月28日21:54:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Jenkins任意文件读取漏洞(CVE-2024-23897)http://cn-sec.com/archives/2435773.html

发表评论

匿名网友 填写信息