Linux Distros 未修補弱點:CVE-2026-89762

high Nessus Plugin ID 345255

概要

Linux/Unix 主機上安裝的一個或多個套件存有弱點,廠商表示將不會修補。

說明

Linux/Unix 主機上安裝了一個或多個受到弱點影響的套件,且廠商未提供可用的修補程式。

- apparmor:修正由 begin_current_label_crit_section() 引起的 cred UAF AppArmor 的 begin_current_label_crit_section() 是一個可怕的函數,可從許多 LSM 鉤子(特別是與 VFS/通訊端相關的鉤子)調用,它檢查當前 creds 引用的標籤是否標記為FLAG_STALE,如果是,則嘗試使用 aa_replace_current_label() 將 creds 替換為使用新標籤的更新版本。這樣做的第一個問題是,如果核心中的任何內容採用指向當前憑據的指標並訪問這些,則會直接導致“struct cred”的 UAF,然後通過替換憑據的安全鉤調用,如下所示: ''' const struct cred *cred = current_cred();
alloc_file_pseudo(...);uid_t uid = cred->euid;''' 我不知道核心中是否有任何東西真的這樣做,但我認為這種模式可能導致 UAF 是非常令人驚訝的。第二個問題是,當 aa_replace_current_label() 使用覆寫的憑證執行時,會出現問題。
如果 'current_cred() != current_real_cred()' (鏡像簽入 proc_pid_attr_write()),則 aa_replace_current_label() 會退出,但此檢查實際上無法可靠地偵測覆寫的憑證,因為覆寫的憑證可能與目標憑證相同。因此,在大約以下情況下,事情會出錯: 1. 任務以 (作為客觀和主觀信用) 開 <creds A> 頭,refcount=2 2. 任務獲取一個額外的引用 <creds A> 以覆蓋 3. 任務調用 override_creds(),<creds A>它返回指向舊主觀信用 () 的指標 4<creds A>. 任務進入 AppArmor LSM 鉤子 5.
AppArmor 會檢查客觀/主觀信任是否相等 6。AppArmor 將兩個 cred 指標替換為 <creds B> 並在 7 上 <creds A> 刪除 2 個引用。 task 離開 AppArmor LSM hook 8. task 調用 revert_creds(<creds A>) 9. 現在 task->cred 是 <creds A> 而 task->real_cred 是 <creds B>,但task_struct在邏輯上保留兩個對 10 的 <creds B> 引用。 另一個任務刪除了用於覆蓋的額外引用 <creds A> ,refcount 下降到 0 11。 現在 task->real_cred 指向釋放的 creds 此時, 任何對 current_cred() 的存取都將是 UAF。我有一個測試案例,我在配置文件上運行 aa-disable,而使用該配置文件的進程在 splice() 上被阻止,從 FUSE 直通文件到一個完整的管道;設定檔更新後,管道變為空,splice() 恢復,憑證不同步,後續的 getuid() 系統調用會導致 KASAN UAF splat。若要修正此問題,請不要直接取代 creds,而是透過在目前系統調用結束時執行的task_work來執行。(cred 替換發生的時間點不應對正確性產生影響,這只是為了避免不必要地接觸新標籤的參照計數而進行的性能優化。請注意,在此變更之後,AppArmor 仍會在 sb_pivotroot LSM 勾點中執行直接 cred 替換,並且透過 proc_pid_attr_write() 在 VFS ->write() 回呼中仍可直接 cred 替換。如何使用 aa_dup_task_ctx() 有兩個選項:在複製整個aa_task_ctx後明確重設 new->label_replacement_pending,或切換為手動複製成員。我正在切換到手動複製成員,因為這應該會使錯誤更加明顯。(CVE-2026-89762)

請注意,Nessus 的判定取決於廠商所報告的套件是否存在。

解決方案

目前尚未有已知的解決方案。

另請參閱

https://security-tracker.debian.org/tracker/CVE-2026-89762

Plugin 詳細資訊

嚴重性: High

ID: 345255

檔案名稱: unpatched_CVE_2026_89762.nasl

版本: 1.1

類型: Local

代理程式: unix

系列: Misc.

已發布: 2026/9/12

已更新: 2026/9/12

支援的感應器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

風險資訊

VPR

風險因素: Medium

分數: 6.3

百分位數: 96.4

CVSS v2

風險因素: Low

基本分數: 2.1

時間性分數: 1.8

媒介: CVSS2#AV:L/AC:L/Au:N/C:N/I:P/A:N

CVSS 評分資料來源: CVE-2026-89762

CVSS v3

風險因素: High

基本分數: 7.1

時間性分數: 6.5

媒介: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

時間媒介: CVSS:3.0/E:U/RL:U/RC:C

弱點資訊

CPE: cpe:/o:debian:debian_linux:12.0, cpe:/o:debian:debian_linux:13.0, cpe:/o:debian:debian_linux:14.0, p-cpe:/a:debian:debian_linux:linux

必要的 KB 項目: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

可輕鬆利用: No known exploits are available

弱點發布日期: 2026/9/11

參考資訊

CVE: CVE-2026-89762