核漏洞 CVE?2026?63978 解析:net/handshake 子系統(tǒng)命名空間退出競態(tài)風(fēng)險與安全防護)
近期 Linux 內(nèi)核披露編號 CVE?2026?63978 的臨界級安全漏洞CVSS 風(fēng)險評分高達 9.8。該缺陷存在于內(nèi)核net/handshake網(wǎng)絡(luò)握手管理子系統(tǒng)由網(wǎng)絡(luò)命名空間銷毀階段鏈表操作參數(shù)顛倒引發(fā)資源泄漏在并發(fā)場景下誘發(fā)競態(tài)條件最終可能觸發(fā)釋放后使用等內(nèi)存破壞問題。遠程攻擊者可借此實現(xiàn)權(quán)限提升、信息泄露或者系統(tǒng)崩潰對云容器、虛擬化集群、多租戶服務(wù)器等大量使用網(wǎng)絡(luò)命名空間的業(yè)務(wù)環(huán)境構(gòu)成較高威脅。從技術(shù)原理來看漏洞根源出現(xiàn)在handshake_net_exit()網(wǎng)絡(luò)命名空間退出清理函數(shù)當(dāng)中。該函數(shù)的設(shè)計目標(biāo)是在銷毀網(wǎng)絡(luò)命名空間時遍歷并釋放所有還處于待處理狀態(tài)的握手請求資源。代碼調(diào)用list_splice_init()完成鏈表遷移操作但傳入函數(shù)的兩個鏈表參數(shù)順序被顛倒。list_splice_init()函數(shù)的作用是將源鏈表的全部節(jié)點移動至目標(biāo)鏈表尾部。由于參數(shù)順序錯誤程序?qū)⒈镜乜樟斜砗喜⒅羑n?hn_requests待處理請求鏈表而非把待處理請求遷移至本地列表。操作完成之后本地列表依舊為空后續(xù)用于回收資源的循環(huán)遍歷代碼直接跳過沒有執(zhí)行任何握手請求的銷毀工作。于是網(wǎng)絡(luò)命名空間已經(jīng)被銷毀但握手請求對應(yīng)的內(nèi)核資源沒有被同步釋放形成殘留的懸空指針。在后續(xù)并發(fā)業(yè)務(wù)流程中其他代碼路徑依然有可能訪問這些已經(jīng)脫離原有命名空間生命周期、卻沒有被回收的握手請求對象。多線程執(zhí)行時序發(fā)生錯位時便觸發(fā)競態(tài)條件進而引發(fā)釋放后使用缺陷。這類由生命周期管理疏漏產(chǎn)生的競態(tài)漏洞復(fù)現(xiàn)門檻較高攻擊觸發(fā)存在一定隨機性隱蔽性強常規(guī)功能測試很難發(fā)現(xiàn)問題一旦被攻擊者找到穩(wěn)定利用方式就能夠篡改內(nèi)核內(nèi)存突破系統(tǒng)權(quán)限邊界。結(jié)合 CVSS 向量CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H進行風(fēng)險研判該漏洞支持遠程網(wǎng)絡(luò)發(fā)起攻擊攻擊復(fù)雜度低攻擊者無需提前獲取主機權(quán)限也無需用戶交互。容器云平臺、虛擬化節(jié)點、多租戶網(wǎng)關(guān)等頻繁創(chuàng)建和銷毀網(wǎng)絡(luò)命名空間的場景屬于高風(fēng)險區(qū)域。官方修復(fù)方案十分明確調(diào)換list_splice_init()兩處鏈表入?yún)⒌南群箜樞虮WC待處理握手請求能夠完整遷移至本地鏈表清理循環(huán)可以正常遍歷、釋放所有殘留資源讓握手請求生命周期和網(wǎng)絡(luò)命名空間的銷毀流程保持同步從源頭消除懸空指針與并發(fā)競態(tài)窗口。內(nèi)核并發(fā)類漏洞隱蔽性高、危害后果嚴(yán)重漏洞公告發(fā)布后安全研究人員通常會加快探索穩(wěn)定利用方法業(yè)務(wù)運維需要把握防護窗口期。建議運維團隊梳理容器、虛擬化等相關(guān)資產(chǎn)持續(xù)跟進 Linux 官方安全通告盡快升級內(nèi)核至包含該漏洞補丁的穩(wěn)定版本。補丁部署前可通過控制網(wǎng)絡(luò)命名空間高頻創(chuàng)建銷毀行為、收緊外部網(wǎng)絡(luò)訪問權(quán)限等方式作為臨時緩解手段降低風(fēng)險。內(nèi)核網(wǎng)絡(luò)子系統(tǒng)的資源生命周期管理是容器與虛擬化基礎(chǔ)設(shè)施安全的重要一環(huán)。望獲 OS 時刻關(guān)注高危漏洞及時安裝修復(fù)補丁保證系統(tǒng)的安全性。企業(yè)應(yīng)當(dāng)建立內(nèi)核高危漏洞常態(tài)化響應(yīng)機制定期完成安全補丁迭代降低并發(fā)競態(tài)類漏洞帶來的安全隱患。