Microsoft Visual C++标准库时间函数拒绝服务漏洞

admin 2022-07-23 01:17:14 CNNVD漏洞 来源:ZONE.CI 全球网 0 阅读模式

漏洞信息详情

Microsoft Visual C++标准库时间函数拒绝服务漏洞

  • CNNVD编号:CNNVD-200702-245
  • 危害等级: 低危
  • CVE编号: CVE-2007-0842
  • 漏洞类型: 资源管理错误
  • 发布时间: 2007-02-13
  • 威胁类型: 远程
  • 更新时间: 2008-12-23
  • 厂        商: microsoft
  • 漏洞来源: 3APA3A※ 3APA3A@sec...

漏洞简介

Microsoft Visual C++是基于Windows平台的C++编译器。 Microsoft Visual C++标准库时间函数实现上存在漏洞,攻击者可能利用此漏洞导致相关的应用程序崩溃。 在64位版本的时间函数中,如: localtime() localtime_s() gmtime() gmtime_s() ctime() ctime_s() wctime() wctime_s() fstat() 如果time_t参数大于等于_MAX__TIME64_T(代表3000年1月1日00:00:00)的话,就可能出现异常行为。根据MSDN文档,时间函数必须通过返回空指针或EINVAL指示错误,具体取决于函数类,但不应该调用任何无效的参数处理程序。实际上时间函数调用了无效的类似于assert()的宏,导致所调用的应用程序拒绝服务。 localtime_s函数(loctim64.c)中的示例: /* * Check for illegal __time64_t value */ _VALIDATE_RETURN_ERRCODE_NOEXC( (*ptime >= 0), EINVAL); _VALIDATE_RETURN_ERRCODE( (*ptime <= _MAX__TIME64_T), EINVAL); 最后的字符串初始化了断言,对于负数和超大的值都必须使用无效的VALIDATE_RETURN_ERRCODE_NOEXC。有效代码为: /* * Check for illegal __time64_t value */ _VALIDATE_RETURN_ERRCODE_NOEXC( (*ptime >= 0), EINVAL); _VALIDATE_RETURN_ERRCODE_NOEXC( (*ptime <= _MAX__TIME64_T), EINVAL); 如果使用了任何上述函数的话,使用Microsoft Visual C++ 8.0编译器动态或静态函数库所编译的应用程序都受这个漏洞影响。

漏洞公告

目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接: http://www.microsoft.com/technet/security/

参考网址

来源: XF 名称: visualstudio-time-dos(32454) 链接:http://xforce.iss.net/xforce/xfdb/32454 来源: BUGTRAQ 名称: 20070212 SecurityVulns.com: Microsoft Visual C++ 8.0 standard library time functions invalid assertion DoS (Problem 3000). 链接:http://www.securityfocus.com/archive/1/archive/1/459847/100/0/threaded 来源: SREASON 名称: 2237 链接:http://securityreason.com/securityalert/2237 来源: OSVDB 名称: 33626 链接:http://osvdb.org/33626 来源: MISC 链接:http://msdn2.microsoft.com/en-us/library/a442x3ye%28VS.80%29.aspx

受影响实体

  • Microsoft Visual_c%2b%2b:8.0  
  • Microsoft Visual_studio:2005  

补丁

    暂无

weinxin
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
评论:0   参与:  0