Apache Tapestry远程代码执行缝隙(CVE-2021-27850)

颁布功夫 2021-04-16

0x00 缝隙概述

CVE  ID

CVE-2021-27850

时    间

2021-04-16

类   型

RCE

等    级

严重

远程利用

影响领域


PoC/EXP

未公开

在野利用


 

0x01 缝隙详情

image.png

 

Apache Tapestry是一种用Java编写的面向组件的Web利用法式框架。。。Tapestry能够在职何利用法式服务器下工作,并且能够轻松集成所有后端,如Spring,Hibernate等。。。

2021年04月14日,Apache Tapestry被披露存在一个严重的远程代码执行缝隙(CVE-2021-27850),攻击者无需经过身份验证即可利用。。。该缝隙绕过了CVE-2019-0195的修复法式(CVSS评分为9.8)。。。

在CVE-2019-0195中,通过把持classpath资产文件URL,攻击者能够在classpath中猜测文件的蹊径,而后下载该文件。。。攻击者能够通过要求蕴含HMAC秘钥的URL http://localhost:8080/assets/something/services/AppModule.class来下载文件AppModule.class。。。

CVE-2019-0195的修复使用了黑名单过滤,其查抄URL是否以“.class”、、“.properties”或“.xml”结尾,但这种黑名单过滤能够通过在URL结尾增长“/”来绕过。。。当http://localhost:8080/assets/something/services/AppModule.class/在黑名单查抄后,斜线被剥离,AppModule.class文件被加载到响应中。。。这个类通常蕴含用于对序列化的Java对象进行署名的HMAC秘钥,在知晓该密钥的情况下,攻击者就能够签署Java小工具链(例如ysoserial的CommonsBeanUtils1),最终导致远程代码执行。。。

 

影响领域

Apache Tapestry 5.4.5

Apache Tapestry 5.5.0

Apache Tapestry 5.6.2

Apache Tapestry 5.7.0

 

0x02 措置建议

目前官方已修复了此缝隙,建议升级到以下版本:

Apache Tapestry 5.4.0-5.6.2,升级到5.6.2或更高版本。。。

Apache Tapestry 5.7.0,升级到5.7.1或更高版本。。。

下载链接:

https://tapestry.apache.org/download.html

 

0x03 参考链接

https://lists.apache.org/thread.html/r237ff7f286bda31682c254550c1ebf92b0ec61329b32fbeb2d1c8751%40%3Cusers.tapestry.apache.org%3E

https://nvd.nist.gov/vuln/detail/CVE-2019-0195

https://nvd.nist.gov/vuln/detail/CVE-2021-27850

 

0x04 功夫线

2021-04-14  Johannes Moritz披露缝隙

2021-04-16  VSRC颁布安全公告

 

0x05 附录

 

CVSS评分尺度官网:http://www.first.org/cvss/

image.png