由于客戶端在連接MySQL時SSL選項使用不當,將可能引起中間人攻擊。該漏洞將導致數據庫通信數據以明文形式在網絡上傳輸。
漏洞詳情
這個漏洞與客戶端的”–ssl”選項有著很大關系,這個選項在受影響的版本中處于”建議使用”的級別。因此,當客戶端嘗試和服務器端進行初始化SSL/TLS連接時,將不會要求使用這一選項。這就幫助MITM攻擊者輕易地去除了SSL/TLS保護。
這個問題同樣影響到了SSL客戶端的其它SSL選項上(比如’—ssl-xxx’)。Oracle MySQL的技術產品主管也在blog中對“–ssl”問題進行了具體的說明。
即使服務器選擇了”REQUIRE SSL”選項,MitM攻擊者仍可以代理的角色出現在客戶和服務器之間。這就使得他可以對客戶和代理之間的連接進行降級,從而使其間的MySQL流量處于未加密狀態,盡管代理和服務器端之間的流量處于加密狀態。
目前該漏洞已被標定為 CVE-2015-3152 (針對MariaDB 和Percona),另外有人指出這一漏洞和數年前ssltrip攻擊有很多相似之處。
影響范圍
MySQL 5.7.3以前的版本,C開發環境下的客戶端庫
Connector/C(libmysqlclient)、MariaDB 和 Percona服務器。
安全建議
升級MySQL到5.7.4以后的版本,對應相關的庫及時的打補丁,使用“REQUIRE X509”選項,使用SSH隧道等。