漏洞信息详情
RealPlayer/HelixPlayer ParseWallClockValue函数栈缓冲区溢出漏洞
- CNNVD编号:CNNVD-200706-465
- 危害等级: 高危
- CVE编号: CVE-2007-3410
- 漏洞类型: 缓冲区溢出
- 发布时间: 2007-06-26
- 威胁类型: 远程
- 更新时间: 2007-10-29
- 厂 商: realnetworks
- 漏洞来源: iDEFENSE
漏洞简介
RealPlayer是一款非常流行的媒体播放器,支持多种格式;HelixPlayer是其开源版本。
RealPlayer/HelixPlayer播放器的墙壁时钟在处理日期格式时存在缓冲区漏洞,远程攻击者可能利用此漏洞控制用户机器。
墙壁时钟(wallclock)功能没有正确地处理HH:mm:ss.f时间格式:
924 HX_RESULT
925 SmilTimeValue::parseWallClockValue(REF(const char*) pCh)
926 {
...
957 char buf[10]; /* Flawfinder: ignore */
...
962 while (*pCh)
963 {
...
972 else if (isspace(*pCh) || *pCh == \'\'+\'\' || *pCh == \'\'-\'\' || *pCh == \'\'Z\'\')
973 {
974 // this will find the last +, - or Z... which is what we want.
975 pTimeZone = pCh;
976 }
...
982 ++pCh;
983 }
...
1101 if (pTimePos)
1102 {
1103 //HH:MM...
....
1133 if (*(pos-1) == \'\':\'\')
1134 {
....
1148 if (*(pos-1) == \'\'.\'\')
1149 {
1150 // find end.
1151 UINT32 len = 0;
1152 if (pTimeZone)
1153 {
1154 len = pTimeZone - pos;
1155 }
1156 else
1157 {
1158 len = end - pos;
1159 }
1160 strncpy(buf, pos, len); /* Flawfinder: ignore */
在957行栈缓冲区声明为10字节,该行的标注导致FlawFinder程序忽略这个缓冲区。
962行开始的循环通过一个函数参数运行,该函数用于寻找表示时间格式中不同部分的字符。如果遇到了空格、\"+\"、\"-\"、或\"Z\"字符,就会记录下位置以备之后使用。如果找到了时间且包含有冒号和逗号,就会到达有漏洞的代码。
1154或1158行计算将要拷贝到栈缓冲区的数据长度,具体取决于是否存在时区。这两处计算都没有考虑buf缓冲区的常数长度,因此在1160行可能出现栈溢出。此外,该行不安全地使用strncpy()也被标记了忽略FlawFinder的标注。
如果用户受骗使用有漏洞的播放器加载了同步多媒体集成语言(SMIL)文件的话,就可能触发这个溢出,导致执行任意指令。
此外RealPlayer和HelixPlayer在处理畸形的.au文件时还可能将0用作除数,导致播放器崩溃。
漏洞公告
临时解决方法:
如果您不能立刻安装补丁或者升级,CNNVD建议您采取以下措施以降低威胁:
* 为CLSID CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA设置kill-bit。
目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:
Real Networks
-------------
http://www.real.com
RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2007:0605-01)以及相应补丁:
RHSA-2007:0605-01:Critical: HelixPlayer security update
链接:https://www.redhat.com/support/errata/RHSA-2007-0605.HTML
Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200709-05)以及相应补丁:
GLSA-200709-05:RealPlayer: Buffer overflow
链接:
http://security.gentoo.org/glsa/glsa-200709-05.xml
所有RealPlayer用户都应升级到最新版本:
# emerge --sync
# emerge --ask --oneshot --verbose ">=media-video/realplayer-10.0.9"
参考网址
来源: US-CERT
名称: VU#770904
链接:http://www.kb.cert.org/vuls/id/770904
来源: XF
名称: realplayer-smiltime-wallclockvalue-bo(35088)
链接:http://xforce.iss.net/xforce/xfdb/35088
来源: BID
名称: 24658
链接:http://www.securityfocus.com/bid/24658
来源: REDHAT
名称: RHSA-2007:0841
链接:http://www.redhat.com/support/errata/RHSA-2007-0841.HTML
来源: REDHAT
名称: RHSA-2007:0605
链接:http://www.redhat.com/support/errata/RHSA-2007-0605.HTML
来源: VUPEN
名称: ADV-2007-3628
链接:http://www.frsirt.com/english/advisories/2007/3628
来源: VUPEN
名称: ADV-2007-2339
链接:http://www.frsirt.com/english/advisories/2007/2339
来源: VIM
名称: 20071030 RealPlayer Updates of October 25, 2007
链接:http://www.attrition.org/pipermail/vim/2007-October/001841.HTML
来源: service.real.com
链接:http://service.real.com/realplayer/security/10252007_player/en/
来源: SECTRACK
名称: 1018299
链接:http://securitytracker.com/id?1018299
来源: SECTRACK
名称: 1018297
链接:http://securitytracker.com/id?1018297
来源: GENTOO
名称: GLSA-200709-05
链接:http://security.gentoo.org/glsa/glsa-200709-05.xml
来源: SECUNIA
名称: 27361
链接:http://secunia.com/advisories/27361
来源: SECUNIA
名称: 26828
链接:http://secunia.com/advisories/26828
来源: SECUNIA
名称: 26463
链接:http://secunia.com/advisories/26463
来源: SECUNIA
名称: 25859
链接:http://secunia.com/advisories/25859
来源: SECUNIA
名称: 25819
链接:http://secunia.com/advisories/25819
来源: OSVDB
名称: 37374
链接:http://osvdb.org/37374
来源: IDEFENSE
名称: 20070626 RealNetworks RealPlayer/HelixPlayer SMIL wallclock Stack Overflow Vulnerability
链接:http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=547
受影响实体
- Realnetworks Helix_player:10.0.5
- Realnetworks Helix_player:10.0.6
- Realnetworks Helix_player:10.0.7
- Realnetworks Helix_player:10.0.8
- Realnetworks Helix_player:10.5-Gold
补丁
暂无
评论