# Apache Struts2遠(yuǎn)程代碼執(zhí)行漏洞S2-062(CVE-2021-31805)
2022 年 4 月 12 日,Apache 官方公布 S2-062 遠(yuǎn)程代碼執(zhí)行漏洞安全公告,漏洞編號為 CVE-2021-31805。
## 漏洞描述
該漏洞為S2-061的修復(fù)不完全,當(dāng)開發(fā)人員使用了 %{…} 語法進(jìn)行強(qiáng)制OGNL解析時,仍有一些特殊的TAG屬性可被二次解析;攻擊者可構(gòu)造惡意的OGNL表達(dá)式觸發(fā)漏洞,從而實現(xiàn)遠(yuǎn)程代碼執(zhí)行。
Apache Struts是用于創(chuàng)建Java Web應(yīng)用程序的開源框架,應(yīng)用非常廣泛。該漏洞已在Struts 2.5.30版本中修復(fù),建議相關(guān)用戶盡快升級版本進(jìn)行防護(hù)。
## 漏洞評級
高危
## 漏洞編號
CVE-2021-31805
## 影響范圍
2.0.0 <= Apache Struts <= 2.5.29
## 修復(fù)建議
1.升級到 Struts 2.5.30 或更高版本。
2.將輸入?yún)?shù)的值重新分配給某些Struts的標(biāo)簽屬性時,始終對其進(jìn)行驗證,不要在值以外的標(biāo)簽屬性中使用%{…} 語法引用用戶可修改的輸入。
3.開啟ONGL表達(dá)式注入保護(hù)。
**參考來源**
https://mp.weixin.qq.com/s/Y4Xx8Lp_-hjHlqL_xVyYTQ
http://blog.nsfocus.net/apache-struts-cve-2021-31805/