Apache Struts2 再現(xiàn)嚴(yán)重漏洞...
點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)
文?| 白開(kāi)水
出品 | OSC開(kāi)源社區(qū)(ID:oschina2013)
Apache Software Foundation 發(fā)布了一個(gè)安全公告 S2-062,以解決 Struts 2.0.0 到 2.5.29 版本中存在的一個(gè)遠(yuǎn)程代碼執(zhí)行漏洞;攻擊者可以利用此漏洞來(lái)控制受影響的系統(tǒng)。對(duì)此,美國(guó)網(wǎng)絡(luò)安全和基礎(chǔ)設(shè)施安全局 (CISA) 也發(fā)布公告敦促組織查看?Apache 的公告,并盡快升級(jí)到最新的 Struts 2 補(bǔ)丁版本。該漏洞被跟蹤為 CVE-2021-31805,是由于 2020 年 CVE-2020-17530 (S2-061)?的不完整修復(fù)造成的。也就是說(shuō),這一漏洞早在 2020 年就已存在且當(dāng)時(shí)被認(rèn)為已修復(fù),但事實(shí)證明問(wèn)題并未完全得到解決。
在 2020 年,GitHub 的研究人員 Alvaro Munoz 和 Aeye 安全實(shí)驗(yàn)室的 Masato Anzai 報(bào)告了?Struts 2 版本 2.0.0 - 2.5.25 在某些情況下存在一個(gè) OGNL 注入漏洞,編號(hào)為 CVE-2020-17530,在 CVSS 嚴(yán)重性方面獲得了 9.8 分(滿分 10 分)。“如果開(kāi)發(fā)者使用 %{...} 語(yǔ)法進(jìn)行強(qiáng)制 OGNL 評(píng)估,標(biāo)簽的一些屬性仍然可以執(zhí)行雙重評(píng)估。對(duì)不信任的用戶輸入使用強(qiáng)制 OGNL 評(píng)估可能導(dǎo)致遠(yuǎn)程代碼執(zhí)行和安全性能下降。”對(duì)象圖導(dǎo)航語(yǔ)言 (Object-Graph Navigation Language,OGNL)?是一種開(kāi)源的 Java 表達(dá)式語(yǔ)言,簡(jiǎn)化了 Java 語(yǔ)言中的表達(dá)式范圍。它被集成在 Struts2 等框架中,作用是對(duì)數(shù)據(jù)進(jìn)行訪問(wèn);擁有類型轉(zhuǎn)換、訪問(wèn)對(duì)象方法、操作集合對(duì)象等功能。盡管 Apache 在 Struts 2.5.26 中解決了 2020 年所報(bào)告的漏洞,但研究人員 Chris McCown?發(fā)現(xiàn),所應(yīng)用的修復(fù)方案并不完整。他向 Apache 報(bào)告稱,“雙重評(píng)估”問(wèn)題仍然可以在 Struts 版本 2.5.26 及更高版本中重現(xiàn)。作為解決措施,Apache 方面建議開(kāi)發(fā)人員避免基于不受信任的用戶輸入在標(biāo)簽屬性中使用強(qiáng)制 OGNL 評(píng)估,和/或升級(jí)到 Struts 2.5.30?或更高版本,以檢查表達(dá)式評(píng)估是否不會(huì)導(dǎo)致雙重評(píng)估。并建議遵循安全指南以獲得最佳實(shí)踐。
Spring Boot 保護(hù)敏感配置的 4 種方法!再見(jiàn)單身狗!Java 創(chuàng)建對(duì)象的 6 種方式阿里為什么推薦使用 LongAdder?AnotherRedisDesktopManager 開(kāi)始收費(fèi)了?別再寫爆爆爆炸類了,試試裝飾器模式!Java 18 正式發(fā)布,finalize 被棄用。。
Spring Boot Admin 橫空出世!Spring Boot 學(xué)習(xí)筆記,這個(gè)太全了!
關(guān)注Java技術(shù)棧看更多干貨
獲取 Spring Boot 實(shí)戰(zhàn)筆記!評(píng)論
圖片
表情

