Mysql/MariaDB 密码尝试严重漏洞【2012-6-9发布】
2012-06-11 22:40:11   来源:我爱运维网   评论:0 点击:

Security vulnerability in MySQL/MariaDB 在知道用户名的情况下(如root),直接反复重试(平均大约256次)即可登入。CVE-2012-2122
安全网站http://seclists.org 最新发布一个关于Mysql/MariaDB 密码尝试连接的严重漏洞。见http://seclists.org/oss-sec/2012/q2/493

该网站声称,在MariaDB与Mysql中发现一严重安全漏洞:即在知道用户名的情况下(如root),直接反复重试(平均大约256次)即可登入。
所有到 5.1.61, 5.2.11, 5.3.5, 5.5.22版本的MariaDB与Mysql 都存在这个漏洞。

自5.1.62, 5.2.12, 5.3.6, 5.5.23版本及以上的MariaDB不存在这个漏洞,
自5.1.63, 5.5.24, 5.6.6版本及以上的MySQL不存在这个漏洞.

本次安全漏洞编号为: CVE-2012-2122.

安全漏洞描述:当用户连接到MariaDB/MySQL,会计算一个令牌(基于密码与随机字串的SHA)并与期望值相比较,由于不正确的转换,即使memcmp()函数返回一个非0值的情况下,也可能会发生令牌与期望值误认为相等,从而导致MySQL/MariaDB误认为密码正确。因协议使用随机字符串,此漏洞补命中的概率大约为1/256。
也就是说,若知道所连接数据库的用户名(如root几站总是存在),则可以使用任意密码重复尝试连接数据库。而300次左右的尝试,不到1秒的时间就即可尝试完成,可见帐号密码的防护可以说完全无效。任何一个客户端即可以操作,且并不需要特定的libmysqlclient库。

不过,好在很多编译的MySQL/MariaDB并不受此漏洞影响。是否受此漏洞影响取决于编译的方法,先决条件是memcmp()可返回任意整数(超过-128..127范围的)。
据了解,gcc内置的memcmp是安全的,BSD 库中的memcmp也是安全的,Linux 下经sse优化过的glibc中memcmp则是不安全。好在gcc通常是内置的编辑器.
据称,官方的MySQL与MariaDB编译好的二进制包没有安全漏洞。

参考:

MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-212
MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.1/revision/3144

MySQL bug report: http://bugs.mysql.com/bug.php?id=64884
MySQL fix: http://bazaar.launchpad.net/~mysql/mysql-server/5.1/revision/3560.10.17
MySQL changelog:
  http://dev.mysql.com/doc/refman/5.1/en/news-5-1-63.html
  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-24.html

相关热词搜索:Mysql MariaDB 密码 漏洞

上一篇:Apache后缀名解析漏洞
下一篇:网站DDOS攻击防护实战经验集

分享到: 收藏
评论排行