安全研究

安全漏洞
Asterisk IAX2隧道驱动IAX2_Write函数远程栈溢出漏洞

发布日期:2007-07-18
更新日期:2007-07-20

受影响系统:
Asterisk Asterisk 1.4.x
Asterisk Asterisk 1.2.x
Asterisk Asterisk 1.0.x
Asterisk Business Edition B.x.x
Asterisk Business Edition A.x.x
Asterisk AsteriskNOW < beta7
Asterisk Appliance Developer Kit 0.x.x
Asterisk s800i 1.0.x
不受影响系统:
Asterisk Asterisk 1.4.8
Asterisk Asterisk 1.2.22
Asterisk Business Edition B.2.2.1
Asterisk AsteriskNOW beta7
Asterisk Appliance Developer Kit 0.5.0
Asterisk s800i 1.0.2
描述:
BUGTRAQ  ID: 24949
CVE(CAN) ID: CVE-2007-3762

Asterisk是开放源码的软件PBX,支持各种VoIP协议和设备。

Asterisk IAX2隧道驱动(chan_iax2)中存在栈溢出漏洞,远程攻击者可能利用此漏洞控制服务器。

如果向chan_iax2传送了数据负载大于4 kB的RTP帧的话,就可能触发这个漏洞。如果要触发这个漏洞,调用iax2_write()的帧应满足以下条件:

* 语音或视频帧
* 4字节的时间戳与之前所发送帧高2字节相同
* 格式为预期格式
* 数据负载大于4kB

iax2_write()调用iax2_send()发送帧。在iax2_send()中,有一个条件检查确定是否应立即发送帧或排在队列中。如果确定应在队列中之后发送,就会动态的分配iax_frame结构,数据缓冲区大小为ast_frame数据的大小。但是,如果立即发送帧的话,就会使用栈分配的iax_frame,数据缓冲区大小为4096字节。之后,使用iax_frame_wrap()函数将数据从ast_frame结构拷贝到了iax_frame结构,这就可能触发溢出。

<*来源:Russell Bryant (russell@digium.com
  
  链接:http://secunia.com/advisories/26099/
        http://ftp.digium.com/pub/asa/ASA-2007-014.pdf
        http://security.gentoo.org/glsa/glsa-200802-11.xml
*>

建议:
厂商补丁:

Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200802-11)以及相应补丁:
GLSA-200802-11:Asterisk: Multiple vulnerabilities
链接:http://security.gentoo.org/glsa/glsa-200802-11.xml

所有Asterisk用户都应升级到最新版本:

    # emerge --sync
    # emerge --ask --oneshot --verbose ">=net-misc/asterisk-1.2.17-r1"

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

ftp://ftp.digium.com/pub/telephony/asterisk
http://www.asterisknow.org/
ftp://ftp.digium.com/pub/telephony/aadk/

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