互聯(lián)網(wǎng)系統(tǒng)協(xié)會(huì)(Internet Systems Consortium,ISC)近日發(fā)布了一個(gè)臨時(shí)補(bǔ)丁,修復(fù)了BIND 9 DNS服務(wù)器中的零日漏洞。該漏洞會(huì)導(dǎo)致互聯(lián)網(wǎng)服務(wù)器崩潰。ISC一份公告中表示,該補(bǔ)丁不能從根本上修復(fù)這個(gè)漏洞,但是它防止了DNS服務(wù)器在處理該錯(cuò)誤時(shí)崩潰。
互聯(lián)網(wǎng)上的組織發(fā)現(xiàn),在執(zhí)行遞歸查詢中記錄了一個(gè)錯(cuò)誤后,BIND 9域名服務(wù)器中斷服務(wù),然后他們開始報(bào)告服務(wù)器崩潰。
ISC在其報(bào)告中說(shuō)道,“受影響的服務(wù)器在記錄了query.c中帶有以下信息的錯(cuò)誤后開始崩潰:INSIST(! Dns_rdataset_isassociated(sigrdataset))。“一個(gè)身份不明的網(wǎng)絡(luò)事件造成BIND 9解析器緩存一個(gè)無(wú)效的記錄,隨后的查詢可能因?yàn)橐粋€(gè)斷言失敗(assertion failure)使解析器崩潰。”
BIND 9平臺(tái)的多個(gè)版本都受到了影響,包括ISC BIND 9支持的所有版本,以及BIND 9.4-ESV,9.6-EV,9.7.x和9.8.x。
“當(dāng)一個(gè)客戶端的查詢請(qǐng)求被處理時(shí),處理客戶端響應(yīng)的代碼要求為被查詢的名稱記錄緩存,”ISC在報(bào)告中解釋道。出于這個(gè)原因,所以有兩個(gè)獨(dú)立的補(bǔ)丁組件:第一個(gè)防止返回不一致的數(shù)據(jù)緩存,而第二個(gè)防止服務(wù)器崩潰,如果它檢測(cè)到它被返回不一致的數(shù)據(jù)緩存。
目前,還沒有已知的解決方法。ISC鼓勵(lì)用戶將BIND升級(jí)為一個(gè)已修補(bǔ)的版本,以緩解這個(gè)問題。