首页 > 动态 > 关键词  > MySQL身份认证漏洞最新资讯  > 正文

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

2012-06-12 09:03 · 稿源:changming的blog

我今天早上打开电脑,在seclists中看到一个很惊人的thread:https://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_boolcheck_scramble(constuchar*scramble_arg,constchar*message,
  2. constuint8*hash_stage2)
  3. {
  4. SHA1_CONTEXTsha1_context;
  5. uint8buf[SHA1_HASH_SIZE];
  6. uint8hash_stage2_reassured[SHA1_HASH_SIZE];
  7. mysql_sha1_reset(&sha1_context);
  8. /*createkeytoencryptscramble*/mysql_sha1_input(&sha1_context,(constuint8*)message,SCRAMBLE_LENGTH);
  9. mysql_sha1_input(&sha1_context,hash_stage2,SHA1_HASH_SIZE);
  10. mysql_sha1_result(&sha1_context,buf);
  11. /*encryptscramble*/my_crypt((char*)buf,buf,scramble_arg,SCRAMBLE_LENGTH);
  12. /*nowbufsupposedlycontainshash_stage1:sowecangethash_stage2*/mysql_sha1_reset(&sha1_context);
  13. mysql_sha1_input(&sha1_context,buf,SHA1_HASH_SIZE);
  14. mysql_sha1_result(&sha1_context,hash_stage2_reassured);
  15. returnmemcmp(hash_stage2,hash_stage2_reassured,SHA1_HASH_SIZE);
  16. }

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

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

举报

  • 相关推荐
  • CleanMyMac上线云存储清理功能

    CleanMyMac推出全新"云存储清理"功能,支持iCloud和OneDrive两大主流云服务。该功能提供统一可视化界面,可批量删除云端和本地的重复文件,或仅解除同步保留云端文件。通过滚动列表和可视化图谱两种模式,帮助用户高效管理存储空间。所有操作均在本地完成,确保数据安全。软件提供7天免费试用,并推出Basic基础版和Plus高级版两种套餐,现有用户可免费升级体验Plus全部功能。未来计划支持腾讯云、百度云等中国本土云平台,持续优化Mac存储管理体验。

  • 185亿元!京东拟收购德国零售商Ceconomy

    据媒体报道,京东集团宣布通过旗下德国子公司JINGDONG Holding Germany GmbH,向欧洲消费电子零售巨头CECONOMY AG所有股东发起自愿公开收购要约,拟以每股4.60欧元现金收购其全部流通股份,并建立战略合作伙伴关系。 目标公司CECONOMY估值约22亿欧元(约合人民币185亿元),旗下运营MediaMarkt和Saturn两大品牌,在欧洲12国拥有870余家门店。该公司于2017年从麦德龙集团分拆独立,是欧洲�

  • 销售易“安全检测”能力上新:一招堵住安全漏洞,筑牢CRM安全底线

    某国际企业因云数据库未设置密码或安全认证,导致7.69亿条包含API密钥、银行账号等敏感信息的记录泄露,造成重大损失。这一事件促使企业更重视数字化系统的安全建设,尤其是CRM系统的数据安全能力。企业面临三大安全管理挑战:系统部署前缺乏安全检查、运行中管理松散、审计机制不完善。销售易推出的安全检测能力,可帮助企业构建三道防线:部署前安全检查预防漏洞、运行中定期体检消除风险、事后完整审计溯源。通过可视化、系统化的安全管理,护航企业数字化办公安全。

  • 国家网信办约谈英伟达 要求说明漏洞后门问题并提交证明

    英伟达H20芯片被曝存在安全漏洞和后门风险,中国网信办7月31日依据相关法规约谈该公司,要求其就芯片安全问题作出说明并提交技术验证材料。H20是美对华出口管制下的"特供版"AI芯片,经降规设计后于7月15日恢复供应。英伟达CEO黄仁勋此前访华时曾表示对重返中国市场"非常高兴",期待为中国客户提供高性能计算支持。此次安全风波引发监管关注,凸显中美科

  • 苹果iOS 18.6正式版发布:修复 24 个漏洞

    苹果公司面向iPhone用户正式推送iOS18.6系统更新,距离上一版本发布间隔78天。此次更新除常规性能优化外,重点修复了24项安全漏洞,并针对中文用户优化了无障碍功能,但备受期待的国行版Apple Intelligence(苹果AI)仍未上线。

  • 女孩确诊白血病男友坚持和她领证:能以亲属身份签字

    ​去年10月,河南姑娘丽丽的人生被一场突如其来的疾病彻底改变——她被确诊患有急性髓系白血病。此后,病情急剧恶化,然而令人心寒的是,丽丽的家人却选择放弃联系,将她独自留在了与病魔抗争的艰难道路上。 就在丽丽陷入孤立无援的绝境时,男友于维澎站了出来,成为了她生命中最温暖的依靠。他始终不离不弃,陪着丽丽辗转来到杭州的医院接受治疗。为了给丽丽�

  • docker怎么安装MySQL docker安装MySQL教程

    把MySQL放进Docker,总共需要几步?本次就通过社区版容器安装2个mysql实例,看一下部署有多简单。

  • 甲骨文发布支持MySQL HeatWave服务的MySQL Autopilot

    MySQL Autopilot提供 9 种基于机器学习的自动化能力,进一步提升MySQL Heatwave服务的性能和可扩展性。根据行业标准TPC-H基准,MySQL HeatWave的性价比高出Snowflake达 35 倍,比亚马逊Redshift的AQUA高 13 倍。2021年8月12日,北京——甲骨文宣布推出MySQL Heatwave服务的最新组件MySQL Autopilot,可作为在Oracle云基础设施(Oracle Cloud Infrastructure, OCI)之上,MySQL数据库服务的内存中查询加速引擎。MySQL Autopilot借?

  • 颠覆“能耗高、波动大”行业顽症!海尔热泵获唯一“双认证”

    海尔水暖通推出骄阳Plus热泵冷暖机,突破传统热泵在极端天气下的使用局限。该产品获得行业首个"大环境温差(100℃)产品特性认证"和"四一级能效认证",可在-40℃至60℃稳定运行,解决东北严寒和南方酷暑的使用痛点。通过双擎喷气增焓技术和智慧能源联控系统,实现冷热、热水、净水等一站式解决方案。海尔凭借全产业链自主可控优势,连续六年全球销量第一,此次认证标志着我国热泵行业标准迈向新高度,有望加速高耗能产品淘汰,推动产业绿色升级。

  • MySQL数据库怎么升级 MySQL数据库升级教程

    当前不少系统的数据库依旧是MySQL5.6,由于MySQL5. 7 及MySQL8. 0 在性能及安全方面有着很大的提升,因此需要升级数据库。本文通过逻辑方式、物理方式原地升级来介绍MySQL5.6 升级至MySQL5. 7 的方法,并介绍其使用场景。