MySQL用户定义函数多个安全漏洞
2008-04-09 04:17:45来源:互联网 阅读 ()
发布日期:2005-08-11
更新日期:2005-08-11
受影响系统:
MySQL AB MySQL 5.0.XX描述:
MySQL AB MySQL 4.1.XX
MySQL AB MySQL 4.0.XX
MySQL是一款使用非常广泛的开放源代码关系数据库系统,拥有各种平台的运行版本。
攻击者可以通过特制的CREATE FUNCTION请求导致系统停止,或执行任意代码,具体如下:
1) 如果攻击者能够要求基于Windows的MySQL服务器加载无效的库文件的话,应用程序就会挂起,直到服务器上确认了对话框。通过请求Windows默认安装PATH中包含的一个或多个非库文件,攻击者可以导致服务器终止。这是由于在加载无效的库文件时Windows函数LoadLibraryEx()会中止,给出以下消息:
"The application or DLL XXXX is not a valid Windows image. Please
check this against your installation diskette."
应注意这个漏洞仅影响Windows平台,其他操作系统不受影响。
2) MySQL要求任何UDF库都定义了XXX_deinit()或XXX_init()函数以过滤任意函数库执行,但这个函数命名规则过于通用,默认函数库也可能定义了这些函数。
例如,Windows 2000默认捆绑的“jpeg1x32.dll”和“jpeg2x32.dll”库也定义了这些函数,这就允许攻击者从“jpeg1x32.dll”加载jpeg_cmp() 函数,或从“jpeg2x32.dll”加载jpeg_decmp()函数。如果调用了任何一个上述函数的话,MySQL守护程序都会由于错误的参数传递而崩溃。
jpeg_cmp_init()和jpeg_decmp_init()函数都假设栈中有6个参数在等待。其中的一个参数Arg 6(EBP 0x1C)是指向内存位置的指针,然后传送给这个函数的其他参数会覆盖这个指针后的内存。由于在这个调用前没有使用Arg 4(EBP 0x14)到Arg 6(EBP 0x1C),因此攻击者就可以破坏栈,覆盖任意内存位置。
<*来源:Reid Borsuk
Team SHATTER (shatter@appsecinc.com)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=112360818900941&w=2
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 限制创建用户定义函数。
厂商补丁:
MySQL AB
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.mysql.com/
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash