MySQL前些时候发布了CVE-2012-2122漏洞公告,该公告说:当连接MySQL数据库时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致MySQL认为两个密码是相同的。也就是说只要知道用户名(如root),直接反复重试(平均大约256次)即可登入直接登入SQL数据库,而且漏洞利用工具已经出现,该漏洞几乎影响5.1至5.5的所有版本,不过,MySQL身份认证的时候是采用3元组,username,ip,password。如果client的IP在mysql.user表中找不到对应的,也无法登陆。不过好的是MySQL新版已经修复了该问题。
MySQL身份认证漏洞处解决办法:升级MySQL(低于以下版本的都必须升级到最新版本:5.0版本低于5.0.96;5.1版本低于5.1.63;5.5版本低于5.5.25)
- 下载对应的版本:原来是5.0.x的下载5.0.96,原来是5.1.x下载最新的5.1.63,原来是5.5.x下载最新的5.5.25,原来是5.0或者5.1的,没必要升级到5.5版。
- 停止mysql,备份整个mysql安装目录,data目录(这个步骤只是预防升级失败)。
- 直接安装最新版本就会自动升级,继续保持MYSQL服务是停止或启动都不影响安装新版的mysql,升级后一切都会正常,并不需要重新设置运行用户或安全。
升级后的MySQL就解决了代号为CVE-2012-2122的MySQL身份认证漏洞。