Glibc 安全補(bǔ)丁引起更嚴(yán)重的漏洞
6 月初,被廣泛使用的 GNU C Library (glibc) 發(fā)布補(bǔ)丁修復(fù)了一個(gè)相對(duì)較小的安全漏洞(CVE-2021-33574)。修復(fù)安全問題本應(yīng)是一件好事,但不幸的是,這個(gè)安全補(bǔ)丁引入了一個(gè)新的且更嚴(yán)重的漏洞(CVE-2021-38604)。
紅帽軟件工程師 Siddhesh Poyarekar 表示,如果攻擊者想利用最初的安全漏洞來發(fā)起最小的攻擊,他需要許多先決條件才可以利用漏洞來使程序崩潰。盡管如此,既然發(fā)現(xiàn)了安全漏洞就需要被解決。
然而 glibc 在打上修復(fù)此安全漏洞的補(bǔ)丁后,引起了更嚴(yán)重且更容易被利用的漏洞。在檢查補(bǔ)丁時(shí),來自 CloudLinux TuxCare 團(tuán)隊(duì)的 Nikita Popov 發(fā)現(xiàn)了問題,新的漏洞有可能導(dǎo)致在庫內(nèi)出現(xiàn)觸發(fā)段錯(cuò)誤 (segmentation fault) 的情況,從而導(dǎo)致任何使用 glibc 庫的程序崩潰,產(chǎn)生拒絕服務(wù) (DoS) 問題。更重要的是,這個(gè)漏洞比舊的漏洞更容易觸發(fā)。
紅帽在其通用漏洞評(píng)分系統(tǒng) (CVSS) 中給這個(gè)漏洞打了 7.5 分,此分?jǐn)?shù)已經(jīng)屬于“高分”,意味著使用該漏洞的攻擊很容易構(gòu)建并且不需要特權(quán)。
此漏洞因上游的修復(fù)補(bǔ)丁而被引入,尤其是 mq_notify.c 文件:
- @@ -133,8 +133,11 @@ helper_thread (void *arg)
- (void) __pthread_barrier_wait (¬ify_barrier);
- }
- else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
- - /* The only state we keep is the copy of the thread attributes. */
- - free (data.attr);
- + {
- + /* The only state we keep is the copy of the thread attributes. */
- + pthread_attr_destroy (data.attr);
- + free (data.attr);
- + }
Nikita Popov 在執(zhí)行“將 CVE-2021-33574 的安全補(bǔ)丁移植到所支持的發(fā)行版的常規(guī)程序”時(shí)發(fā)現(xiàn)了這個(gè)問題,他發(fā)現(xiàn)在某些情況下可以傳遞空指針。
Nikita Popov 認(rèn)為,glibc 提供了主要的系統(tǒng)原語 (system primitives),并與大多數(shù)其他 Linux 應(yīng)用程序相關(guān)聯(lián),包括其他語言編譯器和解釋器。它是系統(tǒng)中僅次于內(nèi)核的第二個(gè)最重要的組件,所以 glibc 如果出現(xiàn)問題會(huì)造成非常大的影響。
目前關(guān)于此漏洞 (CVE-2021-38604),以及針對(duì)它的修復(fù)補(bǔ)丁已經(jīng)提交給 glibc 開發(fā)團(tuán)隊(duì),并已整合至 glibc 庫。此外,一個(gè)新的測(cè)試已經(jīng)提交至 glibc 的自動(dòng)測(cè)試套件,以發(fā)現(xiàn)這種情況并防止它在未來再次發(fā)生。glibc 開發(fā)團(tuán)隊(duì)建議使用者升級(jí)到最新的 glibc 2.34 或更高的穩(wěn)定版本。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Glibc 安全補(bǔ)丁引起更嚴(yán)重的漏洞
本文地址:https://www.oschina.net/news/156382/glibc-security-fix-created-a-nastier-linux-bug