首頁 -> 安全研究

安全研究

緊急通告
綠盟科技緊急通告(Alert2016-02)

NSFOCUS安全小組(security@nsfocus.com)
http://im5s6ma9.zhongte52352.cn

Glibc getaddrinfo()棧緩沖區溢出漏洞

發布日期:2016-02-19

CVE ID:CVE-2015-7547

受影響的軟件及系統:
====================
Glibc 2.9 - 2.22

未受影響的軟件及系統:
======================
Glibc 2.23

綜述:
======
Glibc 2.9-2.22的版本中的getaddrinfo()函數存在一個棧緩沖區溢出漏洞,攻擊者可以利用此漏洞執行任意代碼。

由于Glibc是基礎的C運行庫,大量應用都可能受此問題影響,建議盡快升級。

分析:
======
glibc是GNU發布的libc庫,即c運行庫,幾乎其它任何運行庫都會依賴于glibc。

glibc 2.9-2.22版本的DNS客戶端解析器在使用getaddrinfo()庫函數時存在一個棧緩沖區漏洞。getaddrinfo()函數使用AF_UNSPEC協議族時,會觸發底層解析器代碼并行發送2個針對A記錄和AAAA記錄的查詢請求,glibc開始會在棧上分配一個2048字節的緩沖區用來存儲DNS請求的應答數據,如果應答數據超過2048字節,将會分配新的堆緩沖區來存儲。libnss_dns.so.2中的send_dg(UDP)和send_vc(TCP)函數在緩沖區管理上存在錯誤,導緻超長數據沒有被寫入新分配的堆緩沖區,而是被寫入了2048字節的棧緩沖區,造成緩沖區溢出。攻擊者可能導緻DNS客戶端崩潰或者在DNS客戶端所在主機上執行任意代碼。

利用此漏洞需要受影響應用調用getaddrinfo()函數,并且攻擊者可以控制傳遞給該函數的惡意域名,攻擊者需要僞造一個負責解析惡意域名的DNS服務器。

如果應用會從用戶那裡獲取域名,并調用了getaddrinfo()進行解析,就有可能受此問題影響,造成遠程執行代碼,例如ssh/sudo/curl等。

解決方法:
==========
* 在防火牆或者本地的DNS解析器中限制DNS響應數據的長度小于2048。

廠商狀态:
==========
GNU已經在glibc 2.23的開發版本中修複此漏洞。

目前各大Linux發行版廠商均已修複此漏洞,請盡快進行升級:

RedHat: http://c4b4xgc.zhongte52352.cn
Ubuntu: http://70oo.zhongte52352.cn
Debian: http://yk9z.zhongte52352.cn

CentOS:
http://kzbhtwrd.zhongte52352.cn
http://i2o9r.zhongte52352.cn

GNU C Library: http://aorw4js.zhongte52352.cn

附加信息:
==========
1. http://64iz6jzb.zhongte52352.cn
2. http://7t4qn.zhongte52352.cn
3. http://zhongte52352.cn/index.php?act=alert&do=view&aid=163

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

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

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

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

© 2019 綠盟科技