统计在线人数...

MySQL用户定义函数缓冲区溢出漏洞

[ 来源:不详 | 作者:neeao | 时间:2005-8-9 21:41:35 | 浏览:统计中... ]


来源:绿盟科技

受影响系统:

MySQL AB MySQL 5.0.XX

MySQL AB MySQL 4.1.XX

MySQL AB MySQL 4.0.XX

不受影响系统:

MySQL AB MySQL 5.0.7-beta

MySQL AB MySQL 4.1.13

MySQL AB MySQL 4.0.25

描述:

--------------------------------------------------------------------------------

BUGTRAQ ID: 14509

MySQL是一款使用非常广泛的开放源代码关系数据库系统,拥有各种平台的运行版本。

MySQL的init_syms()函数在将用户指定字符串拷贝到栈缓冲区时使用了不安全的字符串函数,导致攻击者可能利用此漏洞在主机上执行任意指令。

由于没有正确的过滤这个缓冲区,攻击者可能溢出该缓冲区,覆盖部分栈。这允许攻击者在缓冲区末尾之外写入14个字节的任意数据和8字节的硬编码数据。

CREATE FUNCTION语句格式如下:

CREATE FUNCTION function_name RETURNS type SONAME "library_name"

function_name字段的用户指定输入仅限于64个字符。如果操作系统成功的调用了这个库的话,控制就会交给init_syms()。这会试图将用户字符串拷贝到50个字节的缓冲区中,然后将硬编码字符串拷贝到用户字符串末尾。在一些早期版本的MySQL中,攻击者可以利用上述操作完全控制EIP,或将指定的数据拷贝到任意位置。

<*来源:Reid Borsuk

Team SHATTER (shatter@appsecinc.com)

链接:http://marc.theaimsgroup.com/?l=bugtraq&m=112354450412427&w=2

*>

建议:

--------------------------------------------------------------------------------

厂商补丁:

MySQL AB

--------

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://dev.mysql.com/downloads/
共有0人参与评价,平均得分:0分
评论内容只代表网友观点,与本站立场无关! 查看完整内容
   

当前在线人数
QQ:748838 MSN:allen_xia#msn.com E-mail:allenxia666#126.com QQ群:站长联盟北方区-北京(28200145) 站长联盟南方区-上海(67713522)