§‖ Date ::..
<<  < 2005 - 11 >  >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
§‖ BLog Info ::..
  • 日志:270
  • 评论:32
  • 留言:0
  • 访问:
§‖ New BLog ::..

§‖ Comment ::..
§‖ Message ::..

§‖ Links ::..

 
多家厂商以不安全方式调用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)
描述:
CVE(CAN) ID: CAN-2005-2936,CAN-2005-2937,CAN-2005-2938,CAN-2005-2939,CAN-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/

君士坦丁堡的血泪 发表于 2005-11-17 0:29:00 阅读全文 | 回复(0) | 引用通告 | 编辑

 

发表评论:

    昵称:
    密码: (游客无须输入密码)
    主页:
    标题:



© COPYRIGHT 2005 ALL RIGHTS RESERVED
jash's Security Blog
Powered by Oblog.