MySQL 概率性任意密码(身份认证)登录漏洞(CVE-2012-2122)

发布时间: 2012-06-11 (GMT+0800)

漏洞版本:

MySQL < 5.6.6
MySQL < 5.5.24
MySQL < 5.1.63
MariaDB < 5.5.23
MariaDB < 5.3.6
MariaDB < 5.2.12
MariaDB < 5.1.62

漏洞描述:

CVE ID: CVE-2012-2122

MariaDB是为MySQL提供偶然替代功能的数据库服务器。MySQL是开源数据库。

MariaDB 5.1.62, 5.2.12、5.3.6、5.5.23之前版本和MySQL 5.1.63、5.5.24、5.6.6之前版本在用户验证的处理上存在安全漏洞,可能导致攻击者无需知道正确口令就能登录到MySQL服务器。

用户连接到MariaDB/MySQL后,应用会计算和比较令牌值,由于错误的转换,即使memcmp()返回非零值,也可能出现错误的比较,造成MySQL/MariaDB误认为密码是正确的,因为协议使用的是随机字符串,该Bug发生的几率为1/256。MySQL的版本是否受影响取决于程序的编译方式,很多版本(包括官方提供的二进制文件)并不受此漏洞的影响。

也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。按照公告说法大约256次就能够蒙对一次。而且漏洞利用工具已经出现。

参考
http://seclists.org/oss-sec/2012/q2/493

测试方法:

本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!