安全研究

安全漏洞
TCPflow本地格式串处理漏洞

发布日期:2003-08-07
更新日期:2003-08-13

受影响系统:
Jeremy Elson tcpflow 0.20
Jeremy Elson tcpflow 0.12
Jeremy Elson tcpflow 0.11
Jeremy Elson tcpflow 0.10
不受影响系统:
Jeremy Elson tcpflow 0.21
描述:
BUGTRAQ  ID: 8366
CVE(CAN) ID: CVE-2003-0671

tcpflow是一款记录TCP会话的网络监视工具。

tcpflow通过libpcap打开设备时存在格式字符串问题,通过IPNetMonitorX或 IPNetSentryX 安装的tcpflow可以导致本地用户以root用户权限执行任意指令。

问题代码如下:

From tcpflow:main.c
-------------------
    /* make sure we can open the device */
    if ((pd = pcap_open_live(device, SNAPLEN, !no_promisc, 1000,
       error)) == NULL)
      die(error);

    /* drop root privileges - we don't need them any more */
    setuid(getuid());

如果调用pcap_open_live()失败,错误信息将传递给错误处理程序die(),在这个处理发生在丢弃权力之前,由于这个错误处理程序没有任何检查直接传递格式字符串给print_debug_message()函数中的vfprintf()调用,可导致发生格式字符串问题。由于通过任意IPNetSentryX和IPNetMonitorX所在系统的用户可能以root用户权利通过RunTCPFlow执行tcpflow,因此可以利用这个格式字符串问题以root用户权限执行任意指令。

<*来源:Dave G. (daveg@atstake.com
  
  链接:http://www.atstake.com/research/advisories/2003/a080703-2.txt
*>

建议:
厂商补丁:

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

Jeremy Elson Upgrade tcpflow-0.21.tar.gz
ftp://ftp.circlemud.org/pub/jelson/tcpflow/tcpflow-0.21.tar.gz

浏览次数:2961
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障