首页    新闻    下载    文档    论坛     最新漏洞    黑客教程    数据库    搜索    小榕软件实验室怀旧版    星际争霸WEB版    最新IP准确查询   
名称: 密码:      忘记密码  马上注册
漏洞公告 :: 最新漏洞公告

Apple iPhone Safari WebKit alert()函数远程拒绝服务漏洞


http://www.gipsky.com/
Apple iPhone Safari WebKit alert()函数远程拒绝服务漏洞

发布日期:2008-09-12

更新日期:2008-09-16



受影响系统:



Apple iPhone 2.0

Apple iPhone 1.1.4

Apple iTouch 2.0

Apple iTouch 1.1.4



描述:BUGTRAQ ID: 31061

CVE(CAN) ID: CVE-2008-3950



iPhone是苹果发布的智能手机。







Apple Safari是iPhone手机中默认使用的WEB浏览器。Safari所使用的WebKit库中存在安全漏洞,如果对alert() JavaScript方式注入了特殊字符串的话,越界内存读取可能触发访问破坏,导致Safari崩溃。







有漏洞的函数为_web_drawInRect:withFont:ellipsis:alignment:measureOnly: :NSString(WebStringDrawing),这是alert()方式在实现JavaScript时所使用的一个函数。alert()方式接收将要显示在屏幕上的字符串参数,如果这个字符串参数过大的话,库就会映射储存参数所需的内存。







在调用有漏洞的函数时,该函数会调用WebCore::nextBreakablePosition方式负责搜索可拆分的字符,如空格、“-”等,并返回所找到的第一个可拆分字符的位置。如果没有找到可拆分字符的话,就会返回字符串最后位置加1。例如,如果字符串大小为0x1000且没有找到可拆分字符,就会返回0x1000(位置从0开始计算)。







当_web_drawInRect:withFont:ellipsis:alignment:measureOnly函数接收到大小为4096倍数的超长字符串参数且字符串中不包含有可拆分字符,则将该参数传送给WebCore::nextBreakablePosition方式时会导致崩溃。一旦调用了这个方式,就会使用返回值访问超过所分配内存位置以外的可能位于非映射内存区的字符串位置。以下是出现这个漏洞的函数段:







/-----------







31739CB4 MOV R1, R8 ; R1=string



31739CB8 MOV R2, R10 ; R10=string len



31739CBC MOV R3, R8



31739CC0 MOV R0, R4



31739CC4 BL WebCore::nextBreakablePosition(ushort const*,int,int,bool)



31739CC8 LDR R1, =0x1008



31739CCC MOV R3, R0,LSL#1 ; R0=returned position



31739CD0 MOV R5, R0



31739CD4 LDRH R0, [R4,R3] ; %26amp;lt;---- CRASH="" !!!



31739CD8 ADD R6, R4, R3



31739CDC BL _u_getIntPropertyValue



31739CE0 CMP R0, #0x1D



31739CE4 BHI loc_31739D1C







- -----------/



<*来源:Nicolas Economou



链接:http://marc.info/?l=bugtraq%26amp;m=122127556212145%26amp;w=2

*>



测试方法:<font color='#FF0000'><p align='center'>警 告



以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!</p></font><html>



<body>







</body>



</html>



建议:厂商补丁:



Apple

-----

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







http://www.apple.com/support/downloads/
<< Apple Mac OS X 2008-006更新修复多个安全漏洞 百度Hi CSTransfer.dll远程栈溢出漏洞 >>
评分
10987654321
API:
gipsky.com & 安信网络

系统导航

 

Copyright © 2001-2010 安信网络. All Rights Reserved
京ICP备14013333号-8