本文作者:s1mp1e(团队复现组成员)
本文字数:578
阅读时长:2~3min
声明:请勿用作违法用途,否则后果自负
0x01 简介
Nexus Repository 是一个开源的仓库管理系统,在安装、配置、使用简单的基础上提供了更加丰富的功能。3 月 31 日 Nexus Repository Manager 官方发布了 CVE-2020-10199
CVE-2020-10204
的漏洞通告信息,两个漏洞均是由 Github Secutiry Lab 的是 @pwntester 发现的。
0x02 漏洞概述
CVE-2020-10199
和 CVE-2020-10204
主要是由于可执行恶意 EL表达式
导致的。
0x03 影响版本
Nexus Repository Manager 3.x OSS / Pro <= 3.21.1
0x04 环境搭建
1、拉取镜像
docker pull sonatype/nexus3:3.21.1
2、创建nexus数据目录
mkdir /your-dir/nexus-data && chown -R 200 /your-dir/nexus-data
3、运行nexus docker镜像
docker run -d --rm -p 8081:8081 -p 5050:5050 --name nexus -v /your-dir/nexus-data -e INSTALL4J_ADD_VM_PARAMS="-Xms2g -Xmx2g -XX:MaxDirectMemorySize=3g -Djava.util.prefs.userRoot=/nexus-data -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5050" sonatype/nexus3::3.21.1
0x05 漏洞复现
参考链接中附下载地址 CVE-2020-10199(普通用户权限)
CVE-2020-10204(需要管理员权限)
注:需手动更改请求头中NX-ANTI-CSRF-TOKEN=0.16874197250954115; NXSESSIONID=aa06bdf1-b04c-46a5-905a-3dd74f49f5c3内容为本地真实环境值。
0x06 修复方式
升级至最新版本或 Nexus Repository Manager 3.x OSS / Pro > 3.21.1
参考链接: https://www.anquanke.com/post/id/202867 https://github.com/threedr3am/learnjavabug/tree/master/nexus/CVE-2020-10199 https://github.com/threedr3am/learnjavabug/tree/master/nexus/CVE-2020-10204