安全動態(tài)

關于GNU glibc getaddrinfo()堆棧緩沖區(qū)溢出漏洞的安全公告

來源:聚銘網(wǎng)絡    發(fā)布時間:2016-03-02    瀏覽次數(shù):
 

信息來源:國家互聯(lián)網(wǎng)應急中心 

近日,國家信息安全漏洞共享平臺(CNVD)收錄了GNU glibc getaddrinfo()堆棧緩沖區(qū)溢出漏洞(CNVD-2016-01100,對應CVE-2015-7547)。攻擊者利用漏洞可通過構建惡意dns服務或使用中間人的方法對受害者發(fā)起攻擊,對Linux終端設備構成安全威脅。

        一、漏洞情況分析

        GNU glibc是一款按LGPL許可協(xié)議發(fā)布的開源C語言編譯程序,是Linux操作系統(tǒng)中C庫的實現(xiàn)。

        glibc中getaddrinfo函數(shù)在處理特定dns response數(shù)據(jù)包時存在棧溢出漏洞。由于glibc通過alloca()函數(shù)在棧中為_nss_dns_gethostbyname4_r函數(shù)2048字節(jié)的空間,用于托管DNS響應;若響應大于2048字節(jié),程序會從堆中重新分配一個緩沖區(qū),并更新所有信息(緩沖區(qū)指針,緩沖區(qū)大小和響應大小);在一定條件下,會出現(xiàn)棧緩沖區(qū)和新分配的堆內(nèi)存的錯誤匹配,導致超過棧緩沖區(qū)大小的響應仍然存儲在棧中,進而發(fā)生緩沖區(qū)溢出。攻擊者利用漏洞可通過構建惡意dns服務或使用中間人攻擊的方法對Linux主機或相關設備發(fā)起攻擊,導致遠程代碼執(zhí)行,進而可獲取用戶終端控制權。

        CNVD對該漏洞的綜合評級為“高?!?。

        二、漏洞影響范圍

        漏洞影響glibc>2.9的所有版本,glibc是Linux系統(tǒng)中最底層的API,應用于眾多Linux發(fā)行版本中,因此該漏洞影響范圍廣泛。所有Debian 系列、Red Hat 系列的Linux 發(fā)行版,只要glibc版本大于2.9均受該漏洞影響。

        三、漏洞修復建議

        目前,互聯(lián)網(wǎng)上已披露針對該漏洞的利用原理分析及利用代碼。廠商暫未發(fā)布升級補丁修復該漏洞,CNVD建議用戶采取如下臨時措施:該漏洞存在于resolv/res_send.c文件中,當getaddrinfo()函數(shù)被調(diào)用時會觸發(fā)該漏洞,技術人員可以通過將TCP DNS響應的大小限制為1024字節(jié),并丟棄所有超過512字節(jié)的UDP DNS數(shù)據(jù)包來緩解該問題。

        附:參考鏈接:

        https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-7547

        https://sourceware.org/ml/libc-alpha/2016-02/msg00416.html (補丁鏈接)

        http://www.cnvd.org.cn/flaw/show/CNVD-2016-01100

 
 

上一篇:Linux Mint網(wǎng)站被黑,下載鏈接指向帶有后門的ISO鏡像

下一篇:中國移動啟動5G聯(lián)合創(chuàng)新中心 首批11家合作伙伴入駐