Asterisk PBX隧道驅(qū)動 存在多個遠程拒絕服務漏洞
瑞星 編譯 2007/07/23
受影響系統(tǒng):
- 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
不受影響系統(tǒng):
- 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
描述:
Asterisk是開放源碼的軟件PBX,支持各種VoIP協(xié)議和設備。
Asterisk IAX2的隧道驅(qū)動(chan_iax2)中存在拒絕服務漏洞。如果Asterisk在有效會話中接收到了LAGRQ或LAGRP幀,就可能觸發(fā)空指針異常。負責解析入站幀的代碼可以正確地解析IAX幀中的信息單元,然后將指針設置為空表示沒有與這個幀相關的原始數(shù)據(jù)負載,但沒有將原始負載中用于表示字節(jié)數(shù)的變量設置為0。由于原始數(shù)據(jù)長度為非0,處理LAGRQ和LAGRP幀的代碼就會試圖從空指針拷貝數(shù)據(jù),導致崩潰。
Asterisk輕型隧道驅(qū)動(chan_skinny)中存在拒絕服務漏洞。如果Asterisk所接收到的報文聲明長度為0到3之間,之后為所聲明長度+
4或更多字節(jié),則由于超長的memcpy可能會導致出現(xiàn)分段錯誤。
Asterisk在RTP棧的STUN實現(xiàn)中存在拒絕服務漏洞。如果Asterisk在活動的RTP端口上接收到了特制的STUN報文的話,指針就可能超過可訪問的內(nèi)存。負責解析入站STUN報文的代碼無法確認表示STUN屬性的長度和STUN屬性頭大小是否超過了可用的數(shù)據(jù),因此數(shù)據(jù)指針可能超過可訪問的內(nèi)存,導致崩潰。成功攻擊要求啟用了chan_sip、chan_gtalk、chan_jingle、chan_h323、chan_mgcp或chan_skinny。
臨時解決方法:
向/etc/asterisk/modules.conf中添加noload => chan_skinny.so,然后重啟Asterisk。
廠商補丁:
Asterisk
目前廠商已經(jīng)發(fā)布了升級補丁以修復這個安全問題,請到廠商的主頁下載:
ftp://ftp.digium.com/pub/telephony/asterisk
http://www.asterisknow.org/
ftp://ftp.digium.com/pub/telephony/aadk/
http://it.rising.com.cn
相關鏈接: