漏洞信息详情
Asterisk SIP T.38 SDP解析远程栈溢出漏洞
- CNNVD编号:CNNVD-200704-526
- 危害等级: 高危
- CVE编号:
CVE-2007-2293
- 漏洞类型:
缓冲区溢出
- 发布时间:
2006-10-24
- 威胁类型:
远程
- 更新时间:
2007-07-10
- 厂 商:
asterisk - 漏洞来源:
Barrie Dempster b… -
漏洞简介
Asterisk是一款PBX系统的软件,运行在Linux系统上,支持使用SIP、IAX、H323协议进行IP通话。
Asterisk的SIP/SDP处理器中存在多个远程栈溢出漏洞,远程攻击者可能利用此漏洞控制服务器。
如果所发送SIP报文中的SDP数据包含有超长的T38参数的话,就可以触发这个溢出,导致执行任意代码。这个漏洞是由chan_sip.c文件中的process_sdp函数调用sscanf所导致的:
else if ((sscanf(a, \”T38FaxRateManagement:\\%s\”, s) == 1)) {
found = 1;
if (option_debug > 2)
ast_log(LOG_DEBUG, \”RateMangement: \\%s\n\”, s);
if (!strcasecmp(s, \”localTCF\”))
peert38capability |=
T38FAX_RATE_MANAGEMENT_LOCAL_TCF;
(!strcasecmp(s, \”transferredTCF\”))
peert38capability |=
T38FAX_RATE_MANAGEMENT_TRANSFERED_TCF;
上述代码试图从SIP报文中的SDP读取T38FaxRateManagement:选项,然后将后续的字符串拷贝到s。由于对这个字符串没有执行长度检查,因此可以写过s变量的边界,覆盖栈中临近的缓冲区。s在这个函数中被定义为仅256字节长的字符数组。
SIP/SDP处理器在处理SIP报文中SDP数据的超长T38FaxUdpEC参数时也存在类似的栈溢出:
else if ((sscanf(a, \”T38FaxUdpEC:\\%s\”, s) == 1)) {
found = 1;
if (option_debug > 2)
ast_log(LOG_DEBUG, \”UDP EC: \\%s\n\”, s);
if (!strcasecmp(s, \”t38UDPRedundancy\”)) {
peert38capability |=
T38FAX_UDP_EC_REDUNDANCY;
ast_udptl_set_error_correction_scheme(p->udptl,
UDPTL_ERROR_CORRECTION_REDUNDANCY);
试图从SIP报文的SDP读取T38FaxUdpEC时会触发这个栈溢出,导致执行任意指令。
漏洞公告
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
ftp://ftp.digium.com/pub/telephony/asterisk
ftp://ftp.digium.com/pub/telephony/aadk
参考网址
来源: SECTRACK
名称: 1017951
链接:http://www.securitytracker.com/id?1017951
来源: BID
名称: 23648
链接:http://www.securityfocus.com/bid/23648
来源: SECUNIA
名称: 24977
链接:http://secunia.com/advisories/24977
来源: XF
名称: asterisk-processsdp-bo(33895)
链接:http://xforce.iss.net/xforce/xfdb/33895
来源: BUGTRAQ
名称: 20070425 ASA-2007-010: Two stack buffer overflows in SIP channel’s T.38 SDP parsing code
链接:http://www.securityfocus.com/archive/1/archive/1/466883/100/0/threaded
来源: VUPEN
名称: ADV-2007-1534
链接:http://www.frsirt.com/english/advisories/2007/1534
来源: www.asterisk.org
链接:http://www.asterisk.org/files/ASA-2007-010.pdf
来源: SECTRACK
名称: 1018337
链接:http://www.securitytracker.com/id?1018337
来源: BUGTRAQ
名称: 20070704 Multiple Remote unauthenticated stack overflows in Asterisk chan_sip.c
链接:http://www.securityfocus.com/archive/1/archive/1/472804/100/0/threaded
来源: OSVDB
名称: 35368
来源: SREASON
名称: 2645