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