您的位置:首页网络冲浪安全资讯 → 数个 MySQL 的安全漏洞 请用户尽快升级系统

数个 MySQL 的安全漏洞 请用户尽快升级系统

时间:2004/10/15 0:21:00来源:本站整理作者:蓝点我要评论(0)

  服务器: COM_TABLE_DUMP - 正整数 (Signed Integer) 的漏洞

  MySQL 4.x 之前的版本在处理 COM_TABLE_DUMP 时,会从封包中抽取两国字符 (chars),将它直接转换成不带符号 (unsigned integers) 的整数和利用它作为 memcpy 长度参数。若利用字符去表达负数,明显地会转化成一个 非常大的不带符号的整数。由于是以堆阵至堆阵 (heap to heap) 的复制模式操作,并且在 SIGSEGV 处理器内 没有分配记忆的功能,这个漏洞相信只可被用作阻断服务 (denial of service) 攻击。根据不同的封包,mysqld 会直接被瘫痪或进入循环的分割错误 (segmentation faults) 当机状态。这项漏洞已在 Windows,Linux, FreeBSD 系统上测试证实。

  服务器: COM_CHANGE_USER - 密码长度的漏洞

  在 2000 年 2月,Robert van der Meulen 发现了一项 MySQL 系统内主要核实密码的缺憾:MySQL 安全响应机制 (challenge response algorithm) 会建立一个预算的响应,而响应的长度会和客户端所提供的一样。若客户端只传送一个字符长到度的响应 ,MySSQL 只会检查一个位。换言之,它能尝试 32 次去给与正确的响应 (因为字符集最大只是 32 个字符)。作者在 2000 年修补这项漏洞时,在服务器上只加入了一个检查响应长度必须是 8 个字符的规则。但是,他们忘记了将这个检查新增到 COM_CHANGE_USER 指令,所以仍然有可能让拥有合法的 MySQL 帐户的攻击者控制在相同主机上允许登入的其它帐户。对于本机使用者,他可以进入 MySQL 的超级使用者帐户,继而控制所有数据库。若这个问题发生在共享资源的情况下,或超级使用者可以从本机以外的主机登入系统都会十分危险。当攻击者从可以提供长度为一个位的响应去入侵其它帐户,它亦可以传送一个超过长度限制的响应。如果响应的长度超过 16 字符,内部所建立的预算答案会令堆栈满溢。如果有足够长度的响应,有可能会导致由密码核对原理所使用的随机数字生产器 (random number generator) 所产生的字符覆写已储存的指令指示器 (instruction pointer) 。这种攻击模式虽然有一定的难度,但 e-matters 已经证实在他们的 linux 系统下 成功利用这项漏洞。由于 MySQL 程序在瘫痪时会重新激活,人们便可以无限地进行尝试。由于随机数字生产器所产生的字母组合是有限的,并且要在指令指示器上覆写可控制的正确地址是不可能的,所以相信要在 Windows 平台上攻击这项漏洞相信是不可能的。

  客户: libmysqlclient read_row 的满溢漏洞当 MySQL 客户函式库接收由服务器传送来的答案行时,它想将答案复制到另一个缓冲区,所以它会循环地去接收回传的字段和复制到其它位置。这个过程当中,程序并不检查储存的字段大小是否在目的地缓冲区的大小范围之内。此外,一般会在所有字段的结尾部份加入一个 ‘\0‘ 作为终断符号,却没有检查目的地缓冲区是否有足够的空间。由于这项漏洞只需一个简单 SELECT 指令便可经有问题的libmysql 查询与它有动态连结的任何东西。基于这个漏洞的性质,它很容易被用来对客户端应用程序进行阻断服务攻击。(一个负数值的字段长度已可达到这个目的)。如果可以利用这个满溢的漏洞在客户端系统去执行程序代码,是有别与程序与程序之间的执行。实际上,主要视乎 malloc() 能否在特定系统上成功造成满溢,而应用程序能否透过激活不同的执行路径足以控制整个堆阵结构。

  客户: libmysqlclient read__one_row 的字符集覆写漏洞

  当 MySQL 客户函式库传送一行由 MySQL 服务器所获得的记录,它会循环经过所有字段记录字段数值的指示器位置。这是一个可信赖的字段大小,所以不需检查是否存在超出界限的情况。当记录完指示器的位置后,之前的字段会以零作为终结符号。一个诡造的封包可以提供任何字段的大小,所以可以令任意的记忆地址被覆写为 ‘\0‘。一个非法的地址绝对会令客户端瘫痪。由于任意写入的地址,最大可能利用这项漏洞对所有利用遂行方式传送的客户端,执行任意的程序代码。

  影响

  数个 MySQL (lib) 内的漏洞可能允许控制客户端或服务器。

  受影响之系统

  MySQL 3.23.53a 之前的版本

  MySQL 4.0.5a 之前的版本

  解决方案

  请于安装修补程序前浏览软件供货商之网页,以获得更详尽资料。

   请在这里下载修补程序:

   供货商已发放修补这些漏洞的 MySQL 3.23.54 ( http://www.mysql.com/downloads/mysql-3.23.html ) 版本。

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 设置高强度密码技巧之

最新文章 360连回家是什么 360wifi密码怎么设置才不 电信级的RSA加密后的密码的破解方法范海辛的惊奇之旅分辨率修改方法eset nod32 最新用户名和密码 eset nod32 最关于近期PC6遭受DDOS攻击声明

人气排行 盗号者的常用盗号方法最新瑞星升级助手v7.1.5及防杀方法wifi密码怎么设置才不会被破解?wifi防蹭网网站Tags标签对网站关键词排名的意义eset nod32 最新用户名和密码 eset nod32 最网站导航栏设计趋势目前最新的计算机病毒有哪些如何彻底删除QQ医生