MySQL漏洞可令攻擊者繞過密碼驗證
安全研究人員已披露了MySQL服務(wù)器上一個漏洞的細(xì)節(jié),該漏洞有可能會讓潛在的攻擊者不必輸入正確的身份證書便可訪問MySQL數(shù)據(jù)庫。
該漏洞被確認(rèn)為CVE-2012-2122,號漏洞,已經(jīng)在五月發(fā)布的MySQL 5.1.63和5.5.25版本中得以修復(fù)。但是很多服務(wù)器管理員或許尚未意識到這個漏洞可能帶來的影響,因為上述兩個新版本中的變更日志關(guān)于這一安全漏洞的信息非常之少。
這個漏洞只有在MySQL所運行的系統(tǒng)中,當(dāng)memcmp()功能可返回超出-128到127范圍的值時才能被利用。也就是說,只有在Linux系統(tǒng)使用SSE優(yōu)化庫(GNU C庫)的場合下才能被利用。
如果MySQL建立在這樣一個系統(tǒng)上,那么源代碼會拿用戶輸入的密碼哈希表與數(shù)據(jù)庫中某個特殊賬戶中存儲的哈希表進行比對,有些情形下甚至可以允許輸入密碼不正確也能通過認(rèn)證。
成功觸發(fā)這一漏洞的概率約為1:256,MariaDB項目的安全協(xié)調(diào)人Sergei Golubchik在周六發(fā)給oss-sec郵件列表的一封郵件中稱。“做300次攻擊企圖僅需不到一秒的時間,可以說賬戶密碼保護基本上形同虛設(shè)。”
MariaDB是MySQL的一個開發(fā)子社區(qū),它也受到了該漏洞的影響。不過在4月發(fā)布的MariaDB 5.1.62、5.2.12、5.3.6和5.5.23版本中已經(jīng)修復(fù)了這一漏洞。
利用這一漏洞的軟件模塊已于上周日添加到了Metasploit滲透測試框架中。在探測到這一漏洞后,該模塊便可復(fù)制MySQL服務(wù)器的主用戶表,其中包含了所有的密碼哈希表。
攻擊者可使用目錄攻擊破解密碼哈希表,并可維持對服務(wù)器的非授權(quán)訪問,即便繞過漏洞的認(rèn)證后來被修復(fù)了也是如此。“如果你從滲透測試者的角度來看這個問題,這可是最有效的MySQL詭計之一了。”Metasploit首席架構(gòu)師HD Moore稱。
Moore還發(fā)表了一份Linux發(fā)行版列表,舊版的MySQL構(gòu)建在其中皆可發(fā)現(xiàn)可被用來攻擊的漏洞。這些系統(tǒng)包括64位的Ubuntu 10.04、10.10、11.04、11.10和12.04,64位的OpenSuSE 12.1,64位版本的Debian不穩(wěn)定版,64位的Fedora 16和Arch Linux的未指明版本。
大多數(shù)Linux廠商的發(fā)行版會通過他們自己的函數(shù)庫預(yù)編譯MySQL構(gòu)建,經(jīng)過補丁的構(gòu)建對于大多數(shù)流行的發(fā)行版來說已經(jīng)可用。用戶應(yīng)盡可能快地升級到?jīng)]有漏洞的MySQL構(gòu)建,尤其是因為這段漏洞代碼已經(jīng)公開了。
目前尚沒有用于MySQL 5.0x的官方補丁,因為這一版本Oracle已不再支持。不過,有些Linux廠商可能會從MySQL 5.1或5.5向下移植這一補丁。