
报告编号:B6-2019-021801
报告来源:360-CERT
报告作者:Lucifaer
更新日期:2019-02-18
0x00 漏洞背景
Nexus Repository Manager是Sonatype公司的一个产品,简称NXRM,它是一款通用的软件包仓库管理服务,可以简单的理解为Maven的私服。
2019年2月5日Sonatype发布安全公告,在Nexus Repository Manager 3中由于存在访问控制措施的不足,未授权的用户可以利用该缺陷构造特定的请求在服务器上执行Java代码,从而达到远程代码执行的目的。
0x01 影响范围
Nexus Repository Manager OSS/Pro 3.6.2版本到3.14.0版本
0x02 修复建议
将Nexus Repository Manager OSS/Pro升级到3.15.0及之后的版本
0x03 漏洞验证

0x04 漏洞分析
漏洞的触发主要分两部分:post包解析及jexl表达式执行。
post包解析
首先先看一下web.xml中如何做的路由解析:

org.sonatype.nexus.bootstrap.osgi.DelegatingFilter拦截了所有的请求,大概率为动态路由加载,动态路由加载需要配置相应的Module模块用代码将配置与路由进行绑定并显式加载servlet,而该漏洞的入口就在org.sonatype.nexus.extdirect.internal.ExtDirectModule#configure中:

直接跟进org.sonatype.nexus.extdirect.internal.ExtDirectServlet$doPost:

继续向下更进看到处理post请求的部分:

在这里我们跟进看一下如何对json格式的请求进行处理:


首先对json的语法树进行解析,将数据提取出来:

可以看到需要5个变量分别为action、method、tid、type、data。
注意到isBatched是由参数长度决定的,而返回的一个数组,其长度为1,所以isBatched为false。之后就是传入processIndividualRequestsInThisThread方法中:

在这里构造返回的结果,可以看到这里在有一个json序列化的过程,这里主要是将返回结果以json格式返回。
jexl表达式执行
从post包的解析中可以得知我们需要构造5个参数,同时当我们构造好action和method后,可以直接动态调用相应的类与方法。
这个漏洞出现在org.sonatype.nexus.coreui.ComponentComponent#previewAssets:

首先将post包中repositoryName、expression、type的值取出来,这三个参数分别代表已经存在的repository的名字、表达式,以及表达式的类型。
着重看一下jexl的处理过程:


注意到这里只是实例化了一个JexlSelector对象,而并没有调用evaluate来执行表达式,所以漏洞的触发点在其他的位置。而真正的表达式执行点在browseService.previewAssets的处理过程中,这一点也是这个漏洞最为难找的一个点。
跟进previewAssets的实现,在org.sonatype.nexus.repository.browse.internal.BrowseServiceImpl#previewAssets:

在这里可以看到表达式最后会被当做参数形成SQL查询,最后由OrientDb执行:

但是OrientDb本身是没有contentExpression这个方法的,也就是说明这个方法是用Java来实现的,找了一下,在org.sonatype.nexus.repository.selector.internal.ContentExpressionFunction:

在checkJexlExpression中:

调用了selectorManage.evaluate来执行jexl表达式:

0x05 时间线
2019-02-05 Sonatype 官方发布安全公告
2019-02-05 360CERT发现漏洞威胁情报
2019-02-18 360CERT发布分析





![nostromo nhttpd 目录穿越及远程代码执行漏洞CVE-2019-16278[附PoC]-微慑信息网-VulSee.com](http://vulsee.com/wp-content/uploads/2019/10/391.png)









![[八卦] 王婷婷—揭秘一个大三女生的性爱录像-微慑信息网-VulSee.com](http://free.86hy.com/crack/pic/1.jpg)
![[随笔]今天国际警察节-微慑信息网-VulSee.com](http://photo.sohu.com/20041017/Img222528326.jpg)

 青云网
