資安研究機構 Qualys 揭露一個在 Linux 核心中潛伏長達九年的安全漏洞,編號
CVE-2026-46333,CVSS 評分 5.5,亦稱
ssh-keysign-pwn。該漏洞可讓未授權的本機使用者在 Debian、Fedora、Ubuntu 等主流發行版的預設安裝環境中讀取敏感檔案,甚至以 root 身分執行任意指令。
漏洞根源:ptrace 路徑中的競爭條件
此漏洞位於 Linux 核心的 __ptrace_may_access() 函式,最早於 2016 年 11 月被引入主線核心,至今未被發現。Qualys 指出,
當高權限行程在放棄憑證的過程中,會出現一段短暫的時間窗口:按理 dumpable 旗標應阻擋外部透過 ptrace 存取,但攻擊者仍可能在此時介入。
攻擊者還可搭配 2020 年 1 月才加入核心的 pidfd_getfd() 系統呼叫,在 setuid 二進位程式退出的瞬間擷取其檔案描述子(File Descriptor),進而繼承該程式對底層檔案的存取權限,讓這個舊漏洞的實際危害範圍進一步擴大。
Qualys 威脅研究部門(TRU)資深經理 Saeed Abbasi 表示,這項技術「
可將任何本機 shell 轉化為取得 root 或敏感憑證資料的途徑」。
四種攻擊路徑,涵蓋資訊洩漏與指令執行
Qualys 為此漏洞開發了四個概念驗證(PoC)利用程式,攻擊目標分別為
ssh-keysign、
chage、
pkexec 與
accounts-daemon。
其中,ssh-keysign 為 setuid 二進位程式,在驗證簽署過程中會短暫持有 SSH 主機私鑰;攻擊者可藉此洩漏存放於 /etc/ssh/*_key 的私鑰內容。另一個針對 chage 的利用程式,則可竊取開啟 /etc/shadow 的檔案描述子,進而取得系統上所有使用者的密碼雜湊值。至於針對 pkexec 與 accounts-daemon 的利用程式,則可讓攻擊者以 root 身分執行任意指令。
在協調揭露期間,Qualys 未公開上述四個利用程式。不過,針對此漏洞的 PoC 已在上週公開核心提交紀錄出現後隨即釋出。
CVSS 將此漏洞評為 5.5 分,但 Qualys 認為在實際情境中,從未授權立足點到完全控制主機之間的差距相當小,因為僅憑洩漏的檔案內容就可能足以讓攻擊者接管系統。此漏洞在共享主機與多租戶 CI runner 等環境中尤為突出,因為這些環境中未授權的 shell 存取較為常見。
近期 Linux 核心安全事件接連發生
CVE-2026-46333 是過去一個月內繼
Copy Fail、
Dirty Frag 與 Fragnesia 之後,第四個被公開揭露的 Linux 核心本機安全漏洞。
此外,另一個本機提權漏洞 PinTheft 的 PoC 近期也已釋出,可讓攻擊者在 Arch Linux 系統上取得 root 權限。根據 Zellic 與 V12 安全團隊的說明,PinTheft 利用 RDS(Reliable Datagram Sockets)模組中的 zerocopy double-free 漏洞,並透過 io_uring 固定緩衝區將其轉化為頁面快取(Page Cache)覆寫。該漏洞存在於 RDS zerocopy 傳送路徑:
rds_message_zcopy_from_user() 在逐一鎖定使用者頁面時,若後續頁面發生錯誤,錯誤處理路徑會釋放已鎖定的頁面,而後續 RDS 訊息清理程序又會再次釋放,因而形成雙重釋放(Double-Free)。利用此漏洞須滿足特定條件,包括系統須載入 RDS 模組、啟用 io_uring、存在可讀取的 SUID-root 二進位程式,以及支援 x86_64 架構。
防護建議
- 儘速套用各 Linux 發行版釋出的最新核心更新
- 若無法立即更新,可透過 sysctl 將 kernel.yama.ptrace_scope 調高至 2,作為暫時緩解措施;此設定會將 ptrace 附加限制於具備 CAP_SYS_PTRACE 權限的行程,可阻斷公開的利用路徑,但會影響非特權除錯工作流程
- 若主機在漏洞暴露期間曾允許不受信任的本機使用者存取,應將 SSH 主機金鑰及本機快取的憑證視為可能已洩漏,並進行輪換
- 檢查曾存在於 setuid 行程記憶體中的所有管理憑證
本文轉載自 TheHackerNews、InfosecurityMagazine。