公告ID(KYSA-202208-1287)
公告ID:KYSA-202208-1287
公告摘要:glibc安全漏洞
等級:Critical
發布日期:2022-08-23
詳細介紹
1.修復的CVE
·CVE-2009-5029
描述:glibc(又名GNU C Library,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。glibc 2.15之前的版本中的‘__tzfile_read’函數中存在整數溢出漏洞。上下文相關的攻擊者可通過特制的時區(TZ)文件(如使用vsftpd)利用該漏洞造成拒絕服務(崩潰),也可能執行任意代碼。
·CVE-2011-4609
描述:glibc(又名GNU C Library,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。glibc 2.15之前的版本中的RPC實現中的‘svc_run’函數中存在漏洞。遠程攻擊者可通過大量的RPC連接利用該漏洞造成拒絕服務(CPU耗盡)。
·CVE-2012-0864
描述:glibc(又名GNU C Library,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。glibc 2.14及其他版本中的stdio-common/vfprintf.c中的‘vfprintf’函數中存在整數溢出漏洞。上下文相關的攻擊者可通過大量的參數利用該漏洞繞過FORTIFY_SOURCE保護機制,實施格式化字符串攻擊,并寫入任意內存。
·CVE-2012-3404
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library(又名glibc)2.12和其他版本中的libc中的stdio-common/vfprintf.c文件中的‘vfprintf’函數中存在安全漏洞,該漏洞源于程序沒有正確地計算緩沖區長度。攻擊者可借助使用positional參數和許多格式說明符的格式字符串,利用該漏洞繞過FORTIFY_SOURCE格式化字符串保護機制,造成拒絕服務(棧損壞和程序崩潰)。
·CVE-2012-3405
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.14版本中的stdio-common/vfprintf.c文件中的‘vfprintf’函數中存在安全漏洞,該漏洞源于程序沒有正確地計算緩沖區長度。攻擊者可借助帶有大量格式說明符的格式字符串利用該漏洞繞過FORTIFY_SOURCE格式字符串保護機制,造成拒絕服務(段錯誤和崩潰)。
·CVE-2012-3406
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.5和2.12他版本中的stdio-common/vfprintf.c文件中的‘vfprintf’函數中存在安全漏洞,該漏洞源于程序在分配SPECS數組時,沒有正確限制alloca函數的使用。攻擊者可通過使用positional參數的格式字符串和大量的格式說明符利用該漏洞繞過FORTIFY_SOURCE格式字符串保護機制,造成拒絕服務(崩潰)。
·CVE-2012-3480
描述:glibc(又名GNU C Library,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU glibc 2.16版本中存在多個整數益出漏洞,這些漏洞源于對用戶提供的數據未執行充分的邊界值校驗。本地攻擊者可利用該漏洞以特權在受影響應用程序中運行任意代碼,攻擊失敗可導致拒絕服務。
·CVE-2013-0242
描述:glibc(又名GNU C Library,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。glibc 2.17及更早版本中的正則表達式匹配器中的extend_buffers函數中存在緩沖區溢出漏洞。基于上下文的攻擊者可通過特制的多字節字符利用該漏洞導致拒絕服務(內存耗盡或崩潰)。
·CVE-2013-1914
描述:glibc(又名GNU C Library,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library (又名glibc或libc6) 2.17版本和較早的版本中的sysdeps/posix/getaddrinfo.c中的‘getaddrinfo’函數中存在基于棧的緩沖區溢出漏洞。遠程攻擊者可通過主機名或IP地址觸發大量的域轉換結果利用該漏洞造成拒絕服務(崩潰)。
·CVE-2013-4237
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.18之前版本中的sysdeps/posix/readdir_r.c文件中存在拒絕服務漏洞。上下文相關的攻擊者可通過特制的NTFS或CIFS圖像利用該漏洞造成拒絕服務(越邊界寫入和程序崩潰),或可能執行任意代碼。
·CVE-2013-4332
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.18之前版本中的malloc/malloc.c文件中存在整數溢出漏洞。上下文相關的攻擊者可通過向(1)pvalloc,(2)valloc,(3)posix_memalign,(4)memalign或(5)aligned_alloc函數傳遞較大的值利用該漏洞造成拒絕服務(堆內存損壞)。
·CVE-2013-4458
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library (又名glibc或libc6) 2.18及之前的版本中的sysdeps/posix/getaddrinfo.c文件中的‘getaddrinfo’函數中存在基于棧的緩沖區溢出漏洞。遠程攻擊者可借助特制的主機名或IP地址利用該漏洞造成拒絕服務(程序崩潰)。
·CVE-2013-7423
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.20及之前版本的resolv/res_send.c文件中的‘send_dg’函數存在安全漏洞,該漏洞源于程序沒有正確重用文件描述符。遠程攻擊者可借助大量請求利用該漏洞向任意位置發送DNS查詢。
·CVE-2013-7424
描述:glibc(又名GNU C Library,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。glibc 2.15之前版本的‘getaddrinfo’函數中存在安全漏洞。當程序使用libidn編譯并使用AI_IDN標志時,攻擊者可利用該漏洞造成拒絕服務(無效的釋放),或執行任意代碼。
·CVE-2014-0475
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.20之前版本中存在目錄遍歷漏洞,該漏洞源于程序未充分過濾某些本地環境變量(如LC_*,LANG等)。上下文相關的攻擊者可通過環境變量中的目錄遍歷字符‘..’繞過ForceCommand限制或造成其他影響。
·CVE-2014-5119
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library(aka glibc)的gconv_trans.c文件中的‘__gconv_translit_find’函數的‘CHARSET’環境變量和‘gconv’音譯模塊中存在差一錯誤漏洞。攻擊者可利用該漏洞造成拒絕服務(崩潰)或執行任意代碼。
·CVE-2014-6040
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.19及之前版本中存在安全漏洞,該漏洞源于程序將IBM933、IBM935、IBM937、BM939和IBM1364編碼的數據轉換成UTF-8時,‘iconv’函數沒有充分過濾多字節字符‘0xffff’。攻擊者可利用該漏洞造成拒絕服務(越邊界讀取和崩潰)。
·CVE-2014-7817
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.21版本的‘wordexp’函數中存在安全漏洞,該漏洞源于程序沒有正確處理WRDE_NOCMD標記。攻擊者可利用該漏洞執行任意命令。
·CVE-2014-9761
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.23之前版本中存在基于棧的緩沖區溢出漏洞。攻擊者可借助‘nan’、‘nanf’或‘nanl’函數的較長的參數利用該漏洞造成拒絕服務(應用程序崩潰),或執行任意代碼。
·CVE-2015-0235
描述:GNU glibc(又名GNU C Library,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU glibc 2.2版本和2.18之前2.x版本中的‘__nss_hostname_digits_dots’函數存在基于堆的緩沖區溢出漏洞。本地和遠程攻擊者都可通過調用‘ gethostbyname*()’函數利用該漏洞以運行應用程序的用戶權限執行任意代碼,控制系統。
·CVE-2015-1781
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.22之前版本的‘gethostbyname_r’和NSS函數中存在緩沖區溢出漏洞。遠程攻擊者可借助特制的DNS響應利用該漏洞造成拒絕服務(崩潰),或執行任意代碼。
·CVE-2015-5229
描述:Red Hat Enterprise Linux(RHEL)是美國紅帽(Red Hat)公司維護和發布的一套面向企業用戶的Linux操作系統。RHEL 6.7版本和7.2版本的glibc程序包中的‘calloc’函數存在安全漏洞,該漏洞源于程序沒有正確初始化內存空間。遠程攻擊者可利用該漏洞造成拒絕服務(掛起或崩潰)。
·CVE-2015-7547
描述:glibc(GNU C Library)是GNU計劃所實現的C標準庫。glibc 2.9版本至2.22版本的resolv/res_send.c文件中 send_dg 和 send_vc 函數存在緩沖區錯誤漏洞。攻擊者可借助特制的域名、DNS響應或實施中間人攻擊利用該漏洞控制軟件,執行任意代碼,或造成拒絕服務(崩潰)。
·CVE-2015-8776
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.23之前版本的‘strftime’函數中存在安全漏洞。攻擊者可借助超出范圍的時間值利用該漏洞造成拒絕服務(應用程序崩潰),或獲取敏感信息。
·CVE-2015-8778
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.23之前版本中存在整數溢出漏洞。攻擊者可借助‘__hcreate_r’函數的‘size’參數利用該漏洞造成拒絕服務(應用程序崩潰),或執行任意代碼。
·CVE-2015-8779
描述:GNU C Library(又名glibc,libc6)是一種按照LGPL許可協議發布的開源免費的C語言編譯程序。GNU C Library 2.23之前版本的‘catopen’函數中存在基于棧的緩沖區溢出漏洞。攻擊者可借助較長的目錄名利用該漏洞造成拒絕服務(應用程序崩潰),或執行任意代碼。
2.受影響的軟件包
·中標麒麟高級服務器操作系統 V6
·x86_64架構:
glibc、glibc-common、glibc-devel、glibc-headers、glibc-static、glibc-utils、nscd
3.軟件包修復版本
·中標麒麟高級服務器操作系統 V6 (x86_64)
glibc-2.12-1.209.el6.ns6.01或以上版本
glibc-common-2.12-1.209.el6.ns6.01或以上版本
glibc-devel-2.12-1.209.el6.ns6.01或以上版本
glibc-headers-2.12-1.209.el6.ns6.01或以上版本
glibc-static-2.12-1.209.el6.ns6.01或以上版本
glibc-utils-2.12-1.209.el6.ns6.01或以上版本
nscd-2.12-1.209.el6.ns6.01或以上版本
4.修復方法
方法一:配置源進行升級安裝
1.打開軟件包源配置文件,根據倉庫地址進行修改。
倉庫源地址:
中標麒麟高級服務器操作系統 V6
x86_64:https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/
2.配置完成后執行更新命令進行升級,命令如下:
yum update Packagename
方法二:下載安裝包進行升級安裝
通過軟件包地址下載軟件包,使用軟件包升級命令根據受影響的軟件包
列表進行升級安裝, 命令如下:
yum install Packagename
3.升級完成后是否需要重啟服務或操作系統:
CVE-2009-5029:需要重啟 glibc 以使漏洞修復生效。
CVE-2011-4609:需要重啟 glibc 以使漏洞修復生效。
CVE-2012-0864:需要重啟 glibc 以使漏洞修復生效。
CVE-2012-3404:需要重啟 glibc 以使漏洞修復生效。
CVE-2012-3405:需要重啟 glibc 以使漏洞修復生效。
CVE-2012-3406:需要重啟 glibc 以使漏洞修復生效。
CVE-2012-3480:需要重啟 glibc 以使漏洞修復生效。
CVE-2013-0242:需要重啟 glibc 以使漏洞修復生效。
CVE-2013-1914:需要重啟 glibc 以使漏洞修復生效。
CVE-2013-4237:需要重啟 glibc 以使漏洞修復生效。
CVE-2013-4332:需要重啟 glibc 以使漏洞修復生效。
CVE-2013-4458:需要重啟 glibc 以使漏洞修復生效。
CVE-2013-7423:需要重啟 glibc 以使漏洞修復生效。
CVE-2013-7424:需要重啟 glibc 以使漏洞修復生效。
CVE-2014-0475:需要重啟 glibc 以使漏洞修復生效。
CVE-2014-5119:需要重啟操作系統以使漏洞修復生效。
CVE-2014-6040:需要重啟 glibc 以使漏洞修復生效。
CVE-2014-7817:需要重啟 glibc 以使漏洞修復生效。
CVE-2014-9761:需要重啟 glibc 以使漏洞修復生效。
CVE-2015-0235:無需重啟操作系統與服務即可使漏洞修復生效。
CVE-2015-1781:需要重啟 glibc 以使漏洞修復生效。
CVE-2015-5229:需要重啟 glibc 以使漏洞修復生效。
CVE-2015-7547:需要重啟操作系統以使漏洞修復生效。
CVE-2015-8776:需要重啟 glibc 以使漏洞修復生效。
CVE-2015-8778:需要重啟 glibc 以使漏洞修復生效。
CVE-2015-8779:需要重啟 glibc 以使漏洞修復生效。
5.軟件包下載地址
·中標麒麟高級服務器操作系統 V6
glibc(x86_64)軟件包下載地址:
https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/Packages/glibc-2.12-1.209.el6.ns6.01.i686.rpm
https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/Packages/glibc-2.12-1.209.el6.ns6.01.x86_64.rpm
https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/Packages/glibc-common-2.12-1.209.el6.ns6.01.x86_64.rpm
https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/Packages/glibc-devel-2.12-1.209.el6.ns6.01.i686.rpm
https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/Packages/glibc-devel-2.12-1.209.el6.ns6.01.x86_64.rpm
https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/Packages/glibc-headers-2.12-1.209.el6.ns6.01.x86_64.rpm
https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/Packages/glibc-static-2.12-1.209.el6.ns6.01.i686.rpm
https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/Packages/glibc-static-2.12-1.209.el6.ns6.01.x86_64.rpm
https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/Packages/glibc-utils-2.12-1.209.el6.ns6.01.x86_64.rpm
https://update.cs2c.com.cn/NS/V6/V6.9/os/lic/base/x86_64/Packages/nscd-2.12-1.209.el6.ns6.01.x86_64.rpm
注:其他相關依賴包請到相同目錄下載
6.修復驗證
使用軟件包查詢命令,查看相關軟件包版本是否與修復版本一致,如果版本一致,則說明修復成功。
sudo rpm -qa | grep Packagename