0
| 本文作者:抽水 | 2012-06-12 13:32 |
早在四月份的时候,MySQL的创始人Michael "Monty" Widenius发出警告,旧版本的MariaDB和MySQL存在严重的安全漏洞。甲骨文随后为MySQL发布了补丁。这个漏洞的细节最近被曝光:在知道用户帐号的情况下,不断尝试就能够直接登入SQL数据库。
这个漏洞是由memcmp()函数的变动所引起的。当连接MariaDB/MySQL时,输入的密码会与期望的正确密码会进行比较。由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。这也就是说,只要知道用户名,不断尝试就能够直接登入SQL数据库。国内一位名叫changming技术人员给出了一个比较详细的分析:
memcmp()函数返回int类型值,而my_bool函数实际上返回的是char值,那么在int转换成char类型的时候就可能会发生截断。比如说如果memcmp()函数返回的是0X200,截断后就0,而check_scramble函数被调用的时候就会误认为密码正确。
MontyProgram的Sergei Golubchik指出,利用这个漏洞可以成功暴力登陆系统的概率是1/256。这个漏洞还是比较有价值的,因为在一秒不到的时间内就可以提交数以百计次的登陆尝试,在很短的时间内就可以得到系统的控制权。
不过值得侥幸的是,这个漏洞仅限于部分Linux的发行版本,MySQL和MariaDB二进制发行版不受影响。Rapid7首席安全官 H. D. Moore把一些涉及到这漏洞的Linux版本在博客上放了出来,它们是:Ubuntu Linux 64位(10.04、10.10、11.04、11.10、12.04)、OpenSuSE 12.1 64位MySQL 5.5.23-log、Fedora 16 64位和Arch Linux。
目前针对这个漏洞的工具已经开始泛滥,为了保护自己的网站数据安全,建议各位MariaDB和MySQL用户把系统升级到最新版本。
Via:arstechnica
雷锋网原创文章,未经授权禁止转载。详情见转载须知。
文章点评: