兩週內第三個重大Linux內核漏洞被發現——得益於AI
繼Copy Fail和Dirty Frag之後,又一個Linux內核漏洞Fragnesia出現,可讓非授權用户獲得root權限。該漏洞由AI安全公司Zellic使用其AI代理軟件審計工具V12發現,利用Linux XFRM ESP-in-TCP子系統的邏輯錯誤,無需競態條件即可將任意字節寫入只讀文件的內核頁面緩存,導致本地權限提升和容器逃逸。已存在概念驗證利用代碼,主流發行版均受影響。目前上游補丁已可用但尚未分發,臨時緩解措施會禁用IPsec或用户命名空間。
根據Linus定律,“只要有足夠多的眼球,所有bug都是淺顯的”,這曾是開源軟件的基石。然而,隨着AI漏洞發現工具(如Claude Mythos和OpenAI Daybreak)的出現,這些“眼球”背後大部分是AI引擎,它們在發現安全問題上比人類快得多。因此,最新的嚴重Linux內核漏洞Fragnesia應運而生,這是兩週內第三個嚴重的本地root漏洞。
Fragnesia緊隨Copy Fail和Dirty Frag之後,是一種頁面緩存損壞漏洞,可使非特權用户在受影響系統上獲得完全的root控制權。據AlmaLinux稱,Fragnesia可立即在所有主要發行版上獲得root權限。這意味着幾乎所有Linux發行版都可能成為目標並被成功攻擊。
該漏洞由AI安全公司Zellic披露,William Bowling和其他研究人員使用公司的AI代理軟件審計工具V12發現。它通過濫用Linux XFRM(“transform”的縮寫)ESP-in-TCP子系統中的邏輯錯誤,將任意字節寫入只讀文件的內核頁面緩存,且無需任何競態條件。這為本地權限提升和在多租户環境中潛在的容器逃逸打開了大門。與經典的競態條件利用不同,此類漏洞允許攻擊者精確破壞文件支持的頁面,無需時間技巧,使攻擊更可靠,並在概念驗證代碼可用時更容易武器化。
目前已有概念驗證利用代碼。它構建了一個256條目查找表,將所有可能的密鑰流字節映射到相應的nonce。攻擊然後複製惡意負載,將頁面緩存中switch user命令的前192字節覆蓋為一個小的ELF存根,該存根調用setresuid並啓動shell。這意味着本地用户可獲得超級用户(root)權限。Red Hat將其通用漏洞評分系統(CVSS)評分定為7.8,屬於高級別安全漏洞。
更糟糕的是,雖然Fragnesia在技術上是本地權限提升漏洞,但在現代雲架構中,其影響會顯著放大,因為這類架構在共享Linux內核上運行大量不受信任的容器。如果攻擊者能在容器或受限用户賬户中運行代碼,但仍可創建命名空間和網絡棧,就可能逃逸到宿主機的完整root權限,並進一步攻擊其他用户的虛擬機或容器。
內核開發者和發行版維護者正在努力加固ESP-in-TCP代碼路徑,提議的修復方案側重於消除共享文件支持頁面上的就地轉換,並加強片段處理。目前已有上游補丁可用,但截至5月13日尚未在任何發行版中發佈。在此期間,可以通過以root身份運行以下命令來緩解:
rmmod esp4 esp6 rxrpc
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/fragnesia.conf
但這樣做會禁用IPsec,導致Linux虛擬專用網絡(VPN)無法工作。或者,根據Red Hat的建議,可以運行以下命令:
echo "user.max_user_namespaces=0" > /etc/sysctl.d/dirtyfrag.conf
sysctl --system
但這會禁用非特權用户命名空間,可能影響rootless容器、沙盒瀏覽器和Flatpak。
或許最好的做法是等待發行版提供補丁。大多數主要發行版已在測試補丁,預計5月14日左右就會有修補後的Linux內核。屆時應立即更新系統。
為什麼會出現這種情況?Red Hat首席技術官Chris Wright早些時候與我討論了這個問題,歸根結底是我們的AI故障檢測器在發現真實bug方面比幾周前好得多。這意味着:在未來幾個月,我們可能會看到更多此類安全漏洞被披露;同時,我們需要更快地修復出現的bug。這不僅是Linux的問題,所有開源軟件都面臨挑戰,而且隨着AI在逆向工程二進制代碼方面越來越好,Windows和其他專有軟件的開發者也需要提升修復技能。