-
您的位置:首页 → 网络冲浪 → 安全资讯 → 数个 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医生
查看所有0条评论>>