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