來自波蘭的安全研究人員Dawid Golunski剛剛發(fā)現(xiàn)了兩個(gè)MySQL的0-day漏洞,影響到所有版本分支、默認(rèn)配置的MySQL服務(wù)器(5.7、5.6和5.5),包括最新版本。攻擊者可以遠(yuǎn)程和本地利用漏洞。攻擊者成功利用漏洞后,可以ROOT權(quán)限執(zhí)行代碼,完全控制MySQL數(shù)據(jù)庫。攻擊者僅需有FILE權(quán)限即可實(shí)現(xiàn)ROOT提權(quán),進(jìn)而控制服務(wù)器。
漏洞編號(hào):
CVE-2016-6662與CVE-2016-6663
漏洞影響:
MySQL <= 5.7.15 遠(yuǎn)程代碼執(zhí)行/ 提權(quán) (0day)
5.6.33
5.5.52
MySQL分支亦受影響,包括:
MariaDB
PerconaDB
漏洞介紹:
CVE-2016-6662漏洞可令來自遠(yuǎn)程或本地的攻擊者,往MySQL設(shè)置文件(my.cnf)中注入自定義的數(shù)據(jù)庫設(shè)置。該問題僅影響到默認(rèn)設(shè)置下的MySQL服務(wù)器,從漏洞利用步驟來看,在數(shù)據(jù)庫重啟后即可觸發(fā)。通常在系統(tǒng)更新、包更新等操作期間,數(shù)據(jù)庫服務(wù)器都會(huì)重啟。
認(rèn)證訪問MySQL數(shù)據(jù)庫(通過網(wǎng)絡(luò)連接或者如phpMyAdmin一類web界面),以及SQL注入都可作為漏洞利用方式——尤其SQL注入增加了該漏洞的風(fēng)險(xiǎn)。攻擊者成功利用漏洞后,就能以root權(quán)限執(zhí)行任意代碼,并達(dá)到完全控制MySQL服務(wù)器的目的。
CVE-2016-6663漏洞尚未公開,實(shí)際上這是CVE-2016-6662的一個(gè)變體——同樣是在root權(quán)限下進(jìn)行遠(yuǎn)程代碼執(zhí)行(據(jù)說甚至不需要有FILE權(quán)限)。
修復(fù)方案:
MariaDB和PerconaDB已經(jīng)發(fā)布補(bǔ)丁修復(fù)漏洞,Oracle方面則需要等到下一波推送的10月關(guān)鍵補(bǔ)丁更新,具體時(shí)間是10月18日。
Golunski另外也提供了臨時(shí)緩解漏洞危害的方法:
“用戶應(yīng)該確保,MySQL配置文件不在mysql用戶手中,并建立root權(quán)限、不使用的、偽裝的my.cnf文件。”
但這僅是變通方案,用戶應(yīng)在補(bǔ)丁發(fā)布后立即更新。
POC鏈接:http://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html
有關(guān)為何Oracle要到10月修復(fù)漏洞的問題:
Oracle應(yīng)該算是家嚴(yán)格遵守安全更新計(jì)劃的企業(yè),他們發(fā)布安全更新的頻率是每3個(gè)月1次——上一次Oracle關(guān)鍵補(bǔ)丁更新是在7月19日。Golunski表示,他向Oracle上報(bào)這兩個(gè)漏洞的時(shí)間是7月29日,Oracle方面已經(jīng)了解到該漏洞的存在性,預(yù)計(jì)將在10月18日發(fā)布關(guān)鍵補(bǔ)丁更新。
Golunski表示:“PerconaDB和MariaDB都已經(jīng)在8月30日修復(fù)這兩個(gè)漏洞…自上報(bào)問題以來,已經(jīng)超過40天時(shí)間,補(bǔ)丁也已經(jīng)公開,所以我決定公開漏洞(帶部分PoC),在Oracle發(fā)布下一波關(guān)鍵補(bǔ)丁更新之前,也能夠起到警示用戶有關(guān)其風(fēng)險(xiǎn)性的作用。”
不過Golunski也明確表示,這只是緩解方案。MySQL用戶應(yīng)該在廠商發(fā)布補(bǔ)丁之后就立刻應(yīng)用補(bǔ)丁。