上周,一位名叫Dawid Golunski的波蘭黑客發(fā)現(xiàn)了存在于MySQL中的漏洞:一個遠(yuǎn)程root代碼執(zhí)行漏洞和一個權(quán)限提升漏洞。當(dāng)時,Golunski只提供了第一個漏洞的poc,但是承諾之后會透露第二個漏洞(CVE-2016-6663)的更多細(xì)節(jié)。
本周二,Golunski公布了針對兩個漏洞的PoC:第一個PoC針對的是之前的高危權(quán)限提升漏洞,而另一個PoC針對的則是一個新的root權(quán)限提升漏洞,利用這個漏洞,攻擊者能夠獲取到整個數(shù)據(jù)庫的權(quán)限。
漏洞編號
CVE-2016-6663
CVE-2016-6664
漏洞影響
MySQL版本 < 5.5.51 或
< 5.6.32 或
< 5.7.14
MySQL衍生版本:Percona Server、MariaDB
漏洞介紹
權(quán)限提升/競爭條件漏洞(CVE-2016-6663)
本周發(fā)布的兩個漏洞中較為嚴(yán)重的是競爭條件(race condition)漏洞,它能夠讓一個低權(quán)限賬號(擁有CREATE/INSERT/SELECT權(quán)限)提升權(quán)限并且以系統(tǒng)用戶身份執(zhí)行任意代碼。
一旦漏洞被利用,黑客就能夠成功獲取到數(shù)據(jù)庫服務(wù)器內(nèi)的所有數(shù)據(jù)庫。
Root權(quán)限提升(CVE-2016-6664)
另一個漏洞則是root權(quán)限提升漏洞,這個漏洞可以讓擁有MySQL系統(tǒng)用戶權(quán)限的攻擊者提升權(quán)限至root,以便進(jìn)一步攻擊整個系統(tǒng)。
導(dǎo)致這個問題的原因其實是因為MySQL對錯誤日志以及其他文件的處理不夠安全,這些文件可以被替換成任意的系統(tǒng)文件,從而被利用來獲取root權(quán)限。
這個漏洞與前面提到的權(quán)限提升漏洞配合使用風(fēng)味更佳——黑客先使用權(quán)限提升漏洞(CVE-2016-6663)把普通用戶提升為系統(tǒng)用戶,之后再利用root權(quán)限提升漏洞(CVE-2016-6664)進(jìn)一步提升為root用戶。
所有的這些漏洞都可以在共享環(huán)境中使用。在共享環(huán)境中,用戶能夠訪問各自獨(dú)立的數(shù)據(jù)庫。而通過這些漏洞,黑客可以獲取到所有數(shù)據(jù)庫的權(quán)限。
漏洞PoC
Golunski已經(jīng)發(fā)布了兩個漏洞的PoC代碼:漏洞1、漏洞2。
MySQL已經(jīng)修復(fù)了這兩個漏洞,并且在上個月的季度更新中發(fā)布了補(bǔ)丁。
修復(fù)方案
我們強(qiáng)烈建議站長們盡快安裝補(bǔ)丁,如果無法立即安裝補(bǔ)丁,也可以采用臨時的解決方案——關(guān)閉數(shù)據(jù)庫服務(wù)器配置中的符號鏈接支持(在my.cnf中設(shè)置symbolic-links = 0)。