總機(jī):020-87516161 傳真:020-87516161-8040
地址:廣州市天河北路898號(hào)信源大廈3206-3211室 郵編:510660
安全服務(wù) > 安全公告 > 關(guān)于Jackson框架存在Java反序列化代碼執(zhí)行漏洞的安全公告
安全公告編號(hào):CNTA-2017-0030
近日,國(guó)家信息安全漏洞共享平臺(tái)(CNVD)收錄了CNVD白帽子(ID:ayound)報(bào)送的Jackson框架enableDefaultTyping方法反序列化漏洞(CNVD-2017-04483)。攻擊者利用漏洞可在服務(wù)器主機(jī)上執(zhí)行任意代碼或系統(tǒng)指令,取得網(wǎng)站服務(wù)器的控制權(quán)
一、漏洞情況分析
Jackson是一套開(kāi)源的java序列化與反序列化工具框架,可將java對(duì)象序列化為xml和json格式的字符串及提供對(duì)應(yīng)的反序列化過(guò)程。由于其解析效率較高,目前是Spring MVC中內(nèi)置使用的解析方式。4月15日,CNVD白帽子(ID:ayound)提交了Jackson存在Java反序列化漏洞的情況,CNVD秘書(shū)處進(jìn)行了本地環(huán)境核實(shí),確認(rèn)漏洞在一定條件下可被觸發(fā),達(dá)到任意代碼和系統(tǒng)指令執(zhí)行的目的。該漏洞的觸發(fā)條件是ObjectMapper反序列化前調(diào)用了enableDefaultTyping方法。該方法允許json字符串中指定反序列化java對(duì)象的類(lèi)名,而在使用Object、Map、List等對(duì)象時(shí),可誘發(fā)反序列化漏洞。
CNVD對(duì)該漏洞的綜合評(píng)級(jí)為“高危”。
二、漏洞影響范圍
漏洞影響Jackson 2.7版本(<2.7.10)、2.8版本(<2.8.9)。根據(jù)CNVD秘書(shū)處對(duì)Jackson應(yīng)用普查的結(jié)果,目前互聯(lián)網(wǎng)上約有9.1萬(wàn)臺(tái)網(wǎng)站服務(wù)器標(biāo)定為使用了Jackson框架,其中排名前五位的國(guó)家有:美國(guó)(占比68.8%)、中國(guó)(8.2%)、英國(guó)(4.1%)、德國(guó)(2.0%)、荷蘭(2.0%)。目前,暫未進(jìn)一步抽樣核驗(yàn)實(shí)際受影響的比例情況。
三、防護(hù)建議
Jackson開(kāi)發(fā)方已經(jīng)對(duì)ayound提交的情況進(jìn)行了回應(yīng),并發(fā)布了修復(fù)更新。用戶(hù)需更新到2.7.10或2.8.9版本,同時(shí)后續(xù)將發(fā)布的2.9.0版本也會(huì)加入該漏洞的修復(fù)措離。
附:參考鏈接:
http://www.cnvd.org.cn/flaw/show/CNVD-2017-04483
https://github.com/FasterXML/jackson-databind/issues/1599(修復(fù)安全建議)