服务吧 | 专业唐山网站建设团队,为您服务创先争优,做网站您说话!
7×24小时技术服务QQ:449324 联系电话:0315-8167331

行业新闻

MySQL身份认证漏洞 升级到5.5.24可修正

时间:2012-06-12 10:00来源:未知 作者:小万 点击:

我今天早上打开电脑,在seclists中看到一个很惊人的thread:http://seclists.org/oss-sec/2012/q2/493MySQL爆出了一个很大的安全漏洞,几乎影响5.1至5.5的所有版本。出问题的模块是登录时密码校验的部分(password.c),在知道用户名的情况下(如root),直接反复重试(平均大约256次)即可登入。不过,MySQL身份认证的时候是采用3元组,username,ip,password。如果client的IP在mysql.user表中找不到对应的,也无法登陆。

这个BUG实际上早在4月份就被发现了,今年5月7号,MySQL发布5.5.24的时候,修正了这个BUG。

漏洞分析:

出问题的代码如下

  1. my_bool check_scramble(const uchar *scramble_arg, const char *message,   
  2.                const uint8 *hash_stage2)   
  3. {   
  4.   SHA1_CONTEXT sha1_context;   
  5.   uint8 buf[SHA1_HASH_SIZE];   
  6.   uint8 hash_stage2_reassured[SHA1_HASH_SIZE];   
  7.   
  8.   mysql_sha1_reset(&sha1_context);   
  9.   /* create key to encrypt scramble */ mysql_sha1_input(&sha1_context, (const uint8 *) message, SCRAMBLE_LENGTH);   
  10.   mysql_sha1_input(&sha1_context, hash_stage2, SHA1_HASH_SIZE);   
  11.   mysql_sha1_result(&sha1_context, buf);   
  12.   /* encrypt scramble */ my_crypt((char *) buf, buf, scramble_arg, SCRAMBLE_LENGTH);   
  13.   /* now buf supposedly contains hash_stage1: so we can get hash_stage2 */ mysql_sha1_reset(&sha1_context);   
  14.   mysql_sha1_input(&sha1_context, buf, SHA1_HASH_SIZE);   
  15.   mysql_sha1_result(&sha1_context, hash_stage2_reassured);   
  16.   return memcmp(hash_stage2, hash_stage2_reassured, SHA1_HASH_SIZE);   
  17. }  

memcmp的返回值实际上是int,而my_bool实际上是char。那么在把int转换成char的时候,就有可能发生截断。比如,memcmp返回0×200,截断后变成了0,调用check_scramble函数的就误以为“password is correct“。

但是一般来说,memcmp的返回值都在[127,-128]之内。glibc的经SSE优化后的代码,不是如此。所以这个BUG只在特定的编译环境下才会触发:即编译MySQL的时候加了-fno-builtin,并且所使用的glibc是经SSE优化后的(一般系统自带的都是如此)。这里所说的glibc是指Linux的glibc,FreeBSD的libc不受影响。

总的来说这个BUG还是比较严重的,上次MySQL出现这样的BUG还是在3.23/4.0时代。

作者:changming的blog

文章来源: http://www.udpwork.com/redirect/7463

http://www.fw8.net/ (责任编辑:小万)
关键词:截断,实际上,出问题,编译,返回值
------分隔线----------------------------

最新案例

更多>>

客服中心

网站首页 各类cms仿站 唐山做网站 域名注册 客户案例 关于我们 在线留言 联系我们
网站法律顾问:ITLAW-庄毅雄律师
网站备案号:冀ICP备12021829号
Copyright © 2010-2012 fw8.net, All Rights Reserved

关键词: 唐山网站建设| 唐山网站制作| 唐山网络公司| 唐山网站制作官方博客|