glibc 漏洞威脅數(shù)百萬(wàn) Linux 系統(tǒng)安全 可導(dǎo)致任意代碼執(zhí)行
GNU C庫(kù)(glibc)作為絕大多數(shù)Linux應(yīng)用程序的基礎(chǔ)組件,其共享庫(kù)加載機(jī)制中新發(fā)現(xiàn)的漏洞可能影響靜態(tài)setuid二進(jìn)制文件的安全性。該漏洞編號(hào)為CVE-2025-4802,源于靜態(tài)setuid二進(jìn)制文件通過(guò)dlopen()進(jìn)行動(dòng)態(tài)庫(kù)調(diào)用時(shí),錯(cuò)誤處理了LD_LIBRARY_PATH環(huán)境變量。

漏洞技術(shù)原理
glibc是GNU項(xiàng)目及所有主流Linux發(fā)行版使用的標(biāo)準(zhǔn)C庫(kù),作為操作系統(tǒng)內(nèi)核與用戶空間程序之間的橋梁,負(fù)責(zé)處理輸入/輸出、內(nèi)存分配和網(wǎng)絡(luò)通信等基礎(chǔ)功能。雖然glibc主要服務(wù)于動(dòng)態(tài)鏈接二進(jìn)制文件,但也支持靜態(tài)鏈接可執(zhí)行文件——這類(lèi)程序在編譯時(shí)已包含所有必要庫(kù)文件。
漏洞本質(zhì)在于靜態(tài)setuid二進(jìn)制文件與動(dòng)態(tài)加載器的交互異常。安全公告指出:"當(dāng)靜態(tài)鏈接的setuid二進(jìn)制文件調(diào)用dlopen(包括setlocale后的內(nèi)部dlopen調(diào)用或getaddrinfo等NSS函數(shù)調(diào)用)時(shí),可能錯(cuò)誤地搜索LD_LIBRARY_PATH來(lái)確定加載哪個(gè)庫(kù),導(dǎo)致執(zhí)行攻擊者控制的庫(kù)代碼。"
漏洞利用條件
該漏洞被歸類(lèi)為本地條件性風(fēng)險(xiǎn),需要同時(shí)滿足以下條件:
- 系統(tǒng)中存在靜態(tài)鏈接的setuid二進(jìn)制文件
- 該二進(jìn)制文件需調(diào)用dlopen()——無(wú)論是直接調(diào)用還是通過(guò)libc/NSS間接調(diào)用
- 當(dāng)前環(huán)境允許用戶設(shè)置LD_LIBRARY_PATH
公告特別說(shuō)明:"截至本公告發(fā)布時(shí)尚未發(fā)現(xiàn)此類(lèi)程序,但不能排除存在自定義setuid程序的可能性——盡管從安全實(shí)踐角度強(qiáng)烈不建議使用這類(lèi)程序。"這使得該漏洞成為低概率但高影響的威脅,特別是在使用遺留或自定義靜態(tài)二進(jìn)制文件的環(huán)境中。
修復(fù)建議
系統(tǒng)管理員和Linux發(fā)行版維護(hù)者應(yīng)當(dāng):
- 將glibc升級(jí)至2.39版本,若維護(hù)自定義構(gòu)建則需手動(dòng)應(yīng)用補(bǔ)丁
- 審計(jì)靜態(tài)setuid二進(jìn)制文件,盡可能移除或改用動(dòng)態(tài)鏈接重新編譯


























