作家
登录

RealPlayer播放器存在函数栈缓冲区溢出漏洞

作者: 来源: 2012-06-12 22:54:49 阅读 我要评论

发布日期:2007-06-26
更新日期:2007-06-27

受影响系统:
Real Networks RealPlayer 10.5-GOLD
Real Networks Helix Player 10.5-GOLD
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 24658
CVE(CAN) ID: CVE-2007-3410

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)文件的话,就可能触发这个溢出,导致执行任意指令。

<*来源:iDEFENSE

链接:http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=547
*>

建议:
--------------------------------------------------------------------------------
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 为CLSID CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA设置kill-bit。

厂商补丁:

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

http://www.real.com
【绿盟授权51CTO.COM 独家报道,未经书面许可不得转载!】


  推荐阅读

  WordPress自定义字段任意文件上传漏洞

发布日期:2007-06-26 更新日期:2007-06-27受影响系统: WordPress WordPress 2.2 WordPress WordPress MU <= 1.2.2 不受影响系统: WordPress WordPress 2.2.1 WordPress WordPress MU 1.2.3 描述: ---->>>详细阅读


本文标题:RealPlayer播放器存在函数栈缓冲区溢出漏洞

地址:http://www.17bianji.com/anquan/buding/2735.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)