信息來源:FreeBuf
FreeBuf上次曝Struts 2的漏洞已經(jīng)是半年多以前的事情了。這次的漏洞又是個(gè)RCE遠(yuǎn)程代碼執(zhí)行漏洞。簡單來說,基于Jakarta Multipart解析器進(jìn)行文件上傳時(shí),利用漏洞可進(jìn)行遠(yuǎn)程代碼執(zhí)行。 該漏洞由安恒信息Nike Zheng上報(bào)。
Apache Struts是美國阿帕奇(Apache)軟件基金會負(fù)責(zé)維護(hù)的一個(gè)開源項(xiàng)目,是一套用于創(chuàng)建企業(yè)級Java Web應(yīng)用的開源MVC框架。
漏洞編號
CVE-2017-5638
漏洞簡介
Struts使用的Jakarta解析文件上傳請求包不當(dāng),當(dāng)遠(yuǎn)程攻擊者構(gòu)造惡意的Content-Type,可能導(dǎo)致遠(yuǎn)程命令執(zhí)行。
實(shí)際上在default.properties文件中,struts.multipart.parser的值有兩個(gè)選擇,分別是jakarta和pell(另外原本其實(shí)也有第三種選擇cos)。其中的jakarta解析器是Struts 2框架的標(biāo)準(zhǔn)組成部分。默認(rèn)情況下jakarta是啟用的,所以該漏洞的嚴(yán)重性需要得到正視。
影響范圍
Struts 2.3.5 – Struts 2.3.31
Struts 2.5 – Struts 2.5.10
修復(fù)方案
如果你正在使用基于Jakarta的文件上傳Multipart解析器,請升級到Apache Struts 2.3.32或2.5.10.1版;或者也可以切換到不同的實(shí)現(xiàn)文件上傳Multipart解析器。