漏洞復現 | Apache Struts2 遠程代碼執行漏洞(CVE-2021-31805)
0x01
漏洞狀態
漏洞細節 漏洞POC 漏洞EXP 在野利用 是 公開 未知 未知 |
0x02
漏洞描述
Apache Struts2框架是一個用于開發Java EE網絡應用程序的Web框架,它本質上相當于一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與視圖的數據交互。

2022年4月12日,Apache發布安全公告,修復了一個Apache Struts2 中的遠程代碼執行漏洞。漏洞編號:CVE-2021-31805,漏洞威脅等級:高危,漏洞評分:8.5。
Apache Struts2 遠程代碼執行漏洞
Apache Struts2 遠程代碼執行漏洞 漏洞編號 CVE-2021-31805 漏洞類型 遠程代碼執行 漏洞等級 高危(8.5) 公開狀態 公開 在野利用 未知 漏洞描述 由于對CVE-2020-17530的修復不完整,如果開發人員使用 %{...} 語法應用強制OGNL解析,標簽的某些屬性仍然可被二次解析。當對標簽屬性中未經驗證的原始用戶輸入進行解析時可能會導致遠程代碼執行。 |
0x03
漏洞等級
高危(8.5)
0x04
影響版本
Apache Struts2 2.0.0 - 2.5.29
0x05
漏洞復現
2022年4月14日,360漏洞云安全專家已第一時間復現上述漏洞,演示如下:

CVE-2021-31805
完整POC代碼已在360漏洞云情報平臺(https://loudongyun.#/)發布,360漏洞云情報平臺用戶可通過平臺下載進行安全自檢。
0x06
修復建議
臨時修復建議:避免對不受信任的用戶輸入使用強制 OGNL 解析。
官方修復建議:廠商已發布補丁修復漏洞,用戶請盡快更新至安全版本:Struts 2.5.30或更高版本。補丁鏈接如下:
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.30
與此同時,請做好資產自查以及預防工作,以免遭受黑客攻擊。