多家厂商以不安全方式调用CreateProcess()函数漏…

2008-04-10 03:01:57来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

多家厂商以不安全方式调用CreateProcess()函数漏洞

发布日期:2005-11-15
更新日期:2005-11-16

受影响系统:
Real Networks RealPlayer 10.5
VMWare VMWare Workstation 5.0.0 build-13124
Kaspersky Labs Kaspersky Antivirus for Windows File Servers 5.0
Apple iTunes 4.7.1.30
Microsoft Antispyware 1.0.509 (Beta 1)
描述:
BUGTRAQ ID: 15448
CVE(CAN) ID: CVE-2005-2936,CVE-2005-2937,CVE-2005-2938,CVE-2005-2939,CVE-2005-2940

Microsoft Windows API使用CreateProcess()函数创建新的进程及其主线程。

CreateProcess()函数的格式如下:

BOOL CreateProcess(
LPCTSTR lpApplicationName,
LPTSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation
);

lpApplicationName变量包含有将要执行模块的名称,但可能是空值。在这种情况下,所执行的模块名称将会是lpCommandLine字符串中的第一个空白划定符。

如果lpApplicationName中包含有空值,lpCommandLine变量中的完整模块路径包含有空白且没有包含在引号中的话,就可能执行其他程序,如下所示:

CreateProcess(
NULL,
c:\program files\sub dir\program.exe,
...
);

在这种情况下,系统在解释文件路径时会扩展字符串,直到遇到执行模块。上面例子中的字符串可能被解释为:
c:\program.exe files\sub dir\program name
c:\program files\sub.exe dir\program name
c:\program files\sub dir\program.exe

因此,如果c:\目录中存在名为program.exe的文件的话,就可能执行该文件而不是预期的应用程序。

<*来源:iDEFENSE

链接:http://www.idefense.com/application/poi/display?id=340&type=vulnerabilities&flashstatus=true
*>

建议:
临时解决方法:

* 确保不要在可能遭到攻击的位置存储不需要的文件。

厂商补丁:

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

http://www.apple.com/itunes/download/

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Nortel交换式防火墙IKE通讯多个安全漏洞

下一篇:Horde Kronolith多个HTML注入漏洞