细水 2007.03.03

漏洞播报

TCPDump IEEE802.11打印程序远程单字节堆溢出漏洞

发布日期:2007-03-01
更新日期:2007-03-03

受影响系统:

LBL tcpdump 3.9.5

描述:


BUGTRAQ  ID: 22772
CVE(CAN) ID: CVE-2004-0057

Tcpdump是一款免费的网络分析程序,适用于多种Unix操作系统。

Tcpdump在处理畸形的IEEE802.11报文时存在堆缓冲区溢出漏洞,远程攻击者可能利用此漏洞在系统上执行任意指令。

如果发送了特制的802.11帧的话,就会在IEEE 802.11打印程序中触发单字节堆溢出漏洞。在265行print-802_11.c中的parse_elements()函数检查帧中pbody->tim.length长度中的过小的值,但之后在267行的范围检查中使用了错误的变量。由于pbody->tim.length被定义为u_int8_t,因此可容纳最大值为255,然后将252字节拷贝到了仅有251字节的pbody->tim.bitmap。

253    case E_TIM:
254        /* Present, possibly truncated */
255        pbody->tim_status = TRUNCATED;
256        if (!TTEST2(*(p + offset), 2))
257            return;
258        memcpy(&pbody->tim, p + offset, 2);
259        offset += 2;
260        if (!TTEST2(*(p + offset), 3))
261            return;
262        memcpy(&pbody->tim.count, p + offset, 3);
263        offset += 3;
264
265        if (pbody->tim.length <= 3)
266            break;
267        if (pbody->rates.length > sizeof pbody->tim.bitmap)
268            return;
269        if (!TTEST2(*(p + offset), pbody->tim.length – 3))
270            return;
271        memcpy(pbody->tim.bitmap, p + (pbody->tim.length – 3),
272            (pbody->tim.length – 3))

<*来源:Moritz Jodeit (moritz@jodeit.org
  
  链接:http://marc.theaimsgroup.com/?l=full-disclosure&m=117275402813137&w=2
*>


您可以随意转载,但必须在显著位置标明 原创链接 和本 版权声明

本文链接: http://www.mcafeefans.com/?p=485

发表评论

电子邮件地址不会被公开。

:wink: :twisted: :roll: :mrgreen: 8) :-D :arrow: :-o more »

返回页首返回页尾