MySQL CVE-2016-6662 远程代码执行漏洞处理说明

2016-09-13

CVE-2016-6622漏洞的影响参见:

bug report

Percona MySQL 的处理措施详见:

percona launchpad percona blog

利用此漏洞的条件需要满足以下:

1. 本地或远程的MySQL 用户需要有 SUPER 或 FILE 权限;
2. MySQL Server 所在主机的配置 my.cnf 权限不正确, 应该只有 root 用户可读写, 其它用户只读;
3. MySQL 普通用户通过 SUPER 和 FILE 权限修改了默认配置 [mysqld_safe] 部分的 malloc-lib 参数;
4. 存在一个恶意的 lib 库作为 malloc-lib 参数的值;
5. MySQL Server 重启(包括手工重启, 断电等原因);

线上的操作:

1. 可以手工更新 mysqld_safe 脚本的补丁, 避免额外的 malloc-lib 和 defaults-extra-file 两个参数的影响;
2. 检查线上的应用程序用户, 存在 SUPER 和 FILE 权限的予以回收操作;
3. mysql 配置文件的权限保证 mysql 用户(mysqld 进程的属主) 只有只读权限;
4. 确保配置中的 !include 参数指定的路径的配置文件的权限为 mysql 用户只读;
5. Percona 5.1 版本已经不在维护, 5.5, 5.6 版本后续按需更新, 如果上面4个步骤操作后暂时不考虑升级;