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