MySQL代码执行漏洞(CVE-2016-6662)
昨日来自波兰的安全研究人员Dawid Golunski刚刚发现了两个MySQL的0-day漏洞,影响到所有版本分支、默认配置的MySQL服务器(5.7、5.6和5.5),包括最新版本。攻击者可以远程和本地利用漏洞。攻击者成功利用漏洞后,可以ROOT权限执行代码,完全控制MySQL数据库。攻击者仅需有FILE权限即可实现ROOT提权,进而控制服务器。
一、漏洞描述和危害
MySQL 中的 logging 功能设置不当,导致外部攻击者能以一个低权限(拥有 SELECT 和 FILE 权限)的 MySQL 账号,通过修改 my.cnf 文件达到运行任意代码的目的。攻击者可通过对外开放的 MySQL 服务,或者是基于 Web 的 MySQL 管理应用,甚至是 SQL 注入漏洞实施攻击。由于大部分 MySQL 服务都是以系统 Root 账号运行,因此黑客一旦成功利用漏洞,则可以控制整个服务器,危害十分严重。
二、受影响的软件及系统
MySQL <= 5.7.15
MySQL <= 5.6.33
MySQL <= 5.5.52
MySQL 分支的版本也受影响,包括:
MariaDB
PerconaDB
三、漏洞利用的必要条件
1.mysql必须5.5+,支持声明内存储方法
2.默认的my.cnf是root权限,要改成mysql可读性的权限,
3.攻击者账户必须有file权限
四、修复方案
MariaDB和PerconaDB已经发布补丁修复漏洞,Oracle方面则需要等到下一波推送的10月关键补丁更新,具体时间是10月18日。
Golunski另外也提供了临时缓解漏洞危害的方法:
“用户应该确保,MySQL配置文件不在mysql用户手中,并建立root权限、不使用的、伪装的my.cnf文件。”
1、将 MySQL 的用户账号改为强密码,建议使用十位以上数字+字母+特殊符号的强密码。
2、整理 MySQL 中存在 FILE 权限的账号列表,去掉不必要的 FILE 权限。
3、及时关注 MySQL 官方发布的补丁
最新评论