安全研究

安全漏洞
Net-SNMP断开TCP连接远程拒绝服务漏洞

发布日期:2007-05-02
更新日期:2007-05-28

受影响系统:
Sun Solaris 10_x86
Sun Solaris 10.0
Net-SNMP net-snmp 5.2.x < 5.2.2
Net-SNMP net-snmp 5.1.x < 5.1.3
Net-SNMP net-snmp 5.0.x < 5.0.10.2
描述:
BUGTRAQ  ID: 23762
CVE(CAN) ID: CVE-2005-4837

Net-SNMP是一个免费的、开放源码的SNMP实现,以前称为UCD-SNMP。

Net-SNMP处理用户TCP连接时存在漏洞,远程攻击者可能利用此漏洞导致服务不可用。

如果以master agentx模式运行的话,则远程攻击者就可能通过断开特定的TCP连接在snmpd的snmp_api.c中触发释放错误的变量,导致snmpd崩溃。漏洞起因是snmp_api.c文件中5446行的TCP连接关闭例程会导致SIGSEGV:

5367 if (transport->flags &
NETSNMP_TRANSPORT_FLAG_STREAM) {
...
5389 newbuf =
5390 (u_char *) realloc(isp->packet,
5391
isp->packet_len + rxbuf_len);
...
5398 isp->packet = newbuf;
5399 isp->packet_size =
isp->packet_len + rxbuf_len;
5400 rxbuf = isp->packet +
isp->packet_len;
}
...
5432 if (length <= 0 && transport->flags &
NETSNMP_TRANSPORT_FLAG_STREAM) {
...
5446 SNMP_FREE(rxbuf);
...
}

5446 line must free not rxbuf but isp->packet.
< SNMP_FREE(rxbuf);
------------------
> SNMP_FREE(isp->packet);

<*链接:http://secunia.com/advisories/23285/
        http://sourceforge.net/tracker/index.php?func=detail&aid=1207023&group_id=12694&atid=112694
        http://secunia.com/advisories/25411/
        http://sunsolve.sun.com/search/printfriendly.do?assetkey=1-26-102929-1
*>

建议:
临时解决方法:

* 在/etc/sma/snmp/snmpd.conf文件中标注出master agentx项禁用AgentX支持,如下所示:

    #master agentx

然后使用以下命令重启SMA:

    # /etc/init.d/init.sma restart

厂商补丁:

Sun
---
Sun已经为此发布了一个安全公告(Sun-Alert-102929)以及相应补丁:
Sun-Alert-102929:Security Vulnerability With snmpd(1M) When Processing Certain AgentX Subagent Requests
链接:http://sunsolve.sun.com/search/printfriendly.do?assetkey=1-26-102929-1

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

http://sourceforge.net/project/showfiles.php?group_id=12694&package_id=11571&release_id=338903

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