<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>安全動態 on KnightLi的博客</title>
        <link>https://knightli.com/zh-tw/categories/%E5%AE%89%E5%85%A8%E5%8B%95%E6%85%8B/</link>
        <description>Recent content in 安全動態 on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-tw</language>
        <lastBuildDate>Thu, 21 May 2026 09:30:01 +0800</lastBuildDate><atom:link href="https://knightli.com/zh-tw/categories/%E5%AE%89%E5%85%A8%E5%8B%95%E6%85%8B/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>AI 漏洞挖掘時代來了：Copy Fail、Dirty Frag、Fragnesia 與 ssh-keysign-pwn 為何集中爆發</title>
        <link>https://knightli.com/zh-tw/2026/05/21/linux-vulnerability-surge-ai-security-impact/</link>
        <pubDate>Thu, 21 May 2026 09:30:01 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/21/linux-vulnerability-surge-ai-security-impact/</guid>
        <description>&lt;p&gt;最近一段時間，Linux 內核相關漏洞密集出現：Copy Fail、Dirty Frag、Fragnesia、ssh-keysign-pwn 接連進入安全圈討論。它們有的可以本地提權，有的能洩露高敏感文件，有的影響容器宿主機和多租戶環境。很多人的第一反應是：Linux 怎麼突然變得這麼不安全？&lt;/p&gt;
&lt;p&gt;更準確的說法是：Linux 不是突然變差了，而是隱藏很久的問題被更快、更系統地挖了出來。&lt;/p&gt;
&lt;p&gt;這輪事件真正值得關注的，不只是某幾個 CVE 的修復，而是漏洞發現方式變了。過去需要少數頂級研究員花很久才能串起來的跨子系統邏輯漏洞，現在正在被 AI 輔助審計、自動化靜態分析、模糊測試和安全研究平台批量放大。漏洞沒有一夜之間多出來，但漏洞被發現、被復現、被擴散的速度變快了。&lt;/p&gt;
&lt;h2 id=&#34;這幾次漏洞有什麼共同點&#34;&gt;這幾次漏洞有什麼共同點
&lt;/h2&gt;&lt;p&gt;先把最近幾次事件放到一張表裡看。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;漏洞&lt;/th&gt;
          &lt;th&gt;主要影響&lt;/th&gt;
          &lt;th&gt;關鍵特徵&lt;/th&gt;
          &lt;th&gt;風險重點&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Copy Fail / CVE-2026-31431&lt;/td&gt;
          &lt;td&gt;本地提權&lt;/td&gt;
          &lt;td&gt;Linux crypto / AF_ALG 相關路徑，涉及 page cache 寫入問題&lt;/td&gt;
          &lt;td&gt;普通使用者到 root，容器環境尤其敏感&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Dirty Frag / CVE-2026-43284、CVE-2026-43500&lt;/td&gt;
          &lt;td&gt;本地提權&lt;/td&gt;
          &lt;td&gt;XFRM/ESP、RxRPC 等路徑裡的 page cache 寫入原語&lt;/td&gt;
          &lt;td&gt;可鏈式利用，影響宿主機與容器邊界&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Fragnesia / CVE-2026-46300&lt;/td&gt;
          &lt;td&gt;本地提權&lt;/td&gt;
          &lt;td&gt;XFRM ESP-in-TCP 子系統邏輯問題&lt;/td&gt;
          &lt;td&gt;與 Dirty Frag 同屬相近攻擊面&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ssh-keysign-pwn / CVE-2026-46333&lt;/td&gt;
          &lt;td&gt;本地敏感資訊洩露與提權風險&lt;/td&gt;
          &lt;td&gt;Linux kernel &lt;code&gt;__ptrace_may_access()&lt;/code&gt; 邏輯缺陷&lt;/td&gt;
          &lt;td&gt;SSH 主機金鑰、&lt;code&gt;/etc/shadow&lt;/code&gt; 等敏感文件風險&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;它們不完全是同一個漏洞，但背後有幾個共同點：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;都不是傳統遠端 RCE，而是本地權限提升或本地敏感資訊洩露。&lt;/li&gt;
&lt;li&gt;都要求攻擊者先拿到某種本地執行能力，比如普通 shell、容器內命令執行、CI 任務權限或低權限帳戶。&lt;/li&gt;
&lt;li&gt;多數風險集中在內核邊界：page cache、加密/網路子系統、ptrace 權限判斷、容器共享內核。&lt;/li&gt;
&lt;li&gt;影響面會被現代雲原生環境放大，因為容器不是強安全邊界，宿主機內核仍然是共同底座。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以問題不只是「有沒有補丁」。更深的問題是：為什麼這些看起來很底層、很隱蔽、潛伏很久的問題，會在短時間內集中出現？&lt;/p&gt;
&lt;h2 id=&#34;第一層原因很多漏洞是歷史債不是剛寫進去&#34;&gt;第一層原因：很多漏洞是歷史債，不是剛寫進去
&lt;/h2&gt;&lt;p&gt;很多人看到漏洞披露時間，會誤以為漏洞是在最近版本裡新引入的。實際往往不是這樣。&lt;/p&gt;
&lt;p&gt;Copy Fail 這類問題的關鍵點在於：漏洞可以潛伏多年，直到有人把正確的呼叫路徑、權限邊界和記憶體語義串起來。公開資訊顯示，Copy Fail 與 2017 年前後的內核優化歷史有關。Dirty Frag、Fragnesia 也都指向網路、加密、page cache 這類深層交叉路徑。&lt;/p&gt;
&lt;p&gt;這類漏洞的可怕之處，不是某一行程式碼看起來明顯危險，而是多個前提剛好疊在一起：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;某個子系統為了效能做了原地處理。&lt;/li&gt;
&lt;li&gt;某個介面允許非特權使用者觸達內核功能。&lt;/li&gt;
&lt;li&gt;某個路徑把唯讀文件頁、page cache、網路包片段、加密緩衝區連接到一起。&lt;/li&gt;
&lt;li&gt;某個隱式約束沒有寫進型別系統、斷言或文件。&lt;/li&gt;
&lt;li&gt;最終形成「普通使用者能影響本不該影響的內核狀態」的路徑。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這不是普通程式碼審查最擅長發現的問題。審查者可能懂 crypto 子系統，另一個人懂網路子系統，第三個人懂記憶體管理，但漏洞剛好藏在它們的交界處。&lt;/p&gt;
&lt;h2 id=&#34;第二層原因linux-內核複雜度已經超出人工審查極限&#34;&gt;第二層原因：Linux 內核複雜度已經超出人工審查極限
&lt;/h2&gt;&lt;p&gt;Linux 的優勢是開放、通用、硬體支援廣、生態強。但這些優勢也帶來了代價。&lt;/p&gt;
&lt;p&gt;現代 Linux 內核不只是一個「小內核」。它包含排程、記憶體管理、檔案系統、網路協定棧、加密框架、驅動、虛擬化、容器相關機制、eBPF、LSM、安全模組、硬體平台適配等大量子系統。每個子系統都有自己的歷史、維護者、效能目標和相容性包袱。&lt;/p&gt;
&lt;p&gt;問題在於，漏洞常常不在單個模組裡，而在模組交叉點：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;splice()&lt;/code&gt; 把文件頁和管道連接起來。&lt;/li&gt;
&lt;li&gt;AF_ALG 把使用者態和內核 crypto API 連接起來。&lt;/li&gt;
&lt;li&gt;XFRM/ESP 把網路包、加密和記憶體頁連接起來。&lt;/li&gt;
&lt;li&gt;RxRPC、ESP-in-TCP 這類路徑讓網路協定棧更加複雜。&lt;/li&gt;
&lt;li&gt;容器讓低權限本地執行變成更常見的現實前提。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;從工程角度看，Linux 內核已經不是「足夠多的眼睛就能看完」的規模。開源確實讓問題更容易被修復和複核，但不等於每個角落都會被持續、安全地審查。真正能理解跨子系統漏洞的人很少，而這類漏洞偏偏最容易造成高影響。&lt;/p&gt;
&lt;h2 id=&#34;第三層原因效能優化經常把安全邊界壓得很薄&#34;&gt;第三層原因：效能優化經常把安全邊界壓得很薄
&lt;/h2&gt;&lt;p&gt;這輪漏洞裡反覆出現一個主題：為了效能減少拷貝、複用緩衝區、原地處理資料。&lt;/p&gt;
&lt;p&gt;這類優化非常合理。內核是基礎設施，效能差一點，雲廠商、資料庫、網路、儲存、容器平台都會感受到。一次少拷貝、一次更快的加解密、一次更少的記憶體分配，都可能在真實生產環境中帶來收益。&lt;/p&gt;
&lt;p&gt;但安全代價也很清楚：當「唯讀資料」「共享頁」「使用者可控輸入」「內核緩衝區」「加密輸出」之間的邊界變薄，只要某個子系統對輸入輸出契約理解不一致，就可能產生越權寫入或越權讀取。&lt;/p&gt;
&lt;p&gt;也就是說，效能優化本身不是錯，但它會製造更脆弱的組合：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;原地加解密減少了複製，但也更依賴輸入輸出緩衝區的正確隔離。&lt;/li&gt;
&lt;li&gt;page cache 提升了文件訪問效率，但也可能成為攻擊面。&lt;/li&gt;
&lt;li&gt;零拷貝提升吞吐，但也讓不同子系統共享同一批記憶體物件。&lt;/li&gt;
&lt;li&gt;容器提升部署效率，但共享內核意味著本地 LPE 的爆炸半徑更大。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;安全邊界不是靠「大家都記得別犯錯」維持的。邊界必須落實到型別、權限檢查、不可變約束、測試、fuzzing 和持續審計裡。否則，效能優化越多，隱式假設越多，漏洞遲早會被挖出來。&lt;/p&gt;
&lt;h2 id=&#34;第四層原因容器讓本地漏洞的價值變高了&#34;&gt;第四層原因：容器讓本地漏洞的價值變高了
&lt;/h2&gt;&lt;p&gt;過去說「本地提權」，很多人會覺得風險低於遠端漏洞，因為攻擊者已經需要本地帳戶。但雲原生時代改變了這個判斷。&lt;/p&gt;
&lt;p&gt;今天的「本地執行」來源太多了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web 應用被打出普通 shell。&lt;/li&gt;
&lt;li&gt;CI/CD 任務執行了不可信程式碼。&lt;/li&gt;
&lt;li&gt;容器裡跑了使用者上傳任務。&lt;/li&gt;
&lt;li&gt;多租戶平台允許使用者運行 notebook、外掛、腳本或構建任務。&lt;/li&gt;
&lt;li&gt;AI 程式碼執行環境、沙箱和線上評測平台越來越常見。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一旦攻擊者在容器裡有執行能力，內核 LPE 就不再只是「本機小問題」。因為容器共享宿主機內核，內核漏洞可能直接跨過容器邊界，影響宿主機和其他租戶。&lt;/p&gt;
&lt;p&gt;這也是為什麼 Copy Fail、Dirty Frag 這類漏洞會被雲、安全、容器團隊高度關注。它們把「低權限本地程式碼執行」升級成「宿主機級風險」的可能性提高了。&lt;/p&gt;
&lt;h2 id=&#34;ai-的影響漏洞發現成本被壓低了&#34;&gt;AI 的影響：漏洞發現成本被壓低了
&lt;/h2&gt;&lt;p&gt;這輪事件裡最有時代感的部分，是 AI 輔助漏洞挖掘。&lt;/p&gt;
&lt;p&gt;Copy Fail 的公開資料提到，Theori 的 Xint Code 參與了漏洞發現過程。無論具體工具能力如何，這件事代表了一個趨勢：AI 不一定自己「憑空發明漏洞」，但它很擅長幫助研究員縮短搜尋路徑。&lt;/p&gt;
&lt;p&gt;AI 對漏洞研究的影響主要體現在幾件事上：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;更快掃過陌生程式碼&lt;br&gt;
內核子系統程式碼量很大，研究員不可能手工閱讀所有路徑。AI 可以幫助快速總結函式、呼叫鏈、輸入輸出關係和可疑模式。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;更容易發現跨模組連接&lt;br&gt;
很多漏洞藏在「使用者態入口 -&amp;gt; 網路棧 -&amp;gt; 加密框架 -&amp;gt; 記憶體頁 -&amp;gt; 文件快取」的鏈條裡。AI 可以輔助梳理這些跨文件、跨目錄、跨子系統的路徑。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;更容易生成審計假設&lt;br&gt;
比如「哪些路徑會把使用者可控資料寫入 page cache」「哪些 API 允許非特權使用者觸達 crypto 子系統」「哪些函式假設輸入輸出緩衝區不會重疊」。這些問題以前靠經驗慢慢想，現在可以被更系統地枚舉。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;更容易把漏洞變成可復現樣例&lt;br&gt;
AI 不能替代內核研究員的判斷，但可以幫助寫驗證程式碼、整理 PoC 思路、解釋錯誤路徑、生成測試用例。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;結果是：漏洞挖掘的單位成本下降了。&lt;/p&gt;
&lt;p&gt;過去，一個高品質內核漏洞可能需要很長時間才能被頂尖研究員發現。現在，懂系統的人加上 AI 工具，可以更快把可疑路徑篩出來。漏洞供給的天花板被抬高，集中爆發就更容易出現。&lt;/p&gt;
&lt;h2 id=&#34;但-ai-不是唯一原因&#34;&gt;但 AI 不是唯一原因
&lt;/h2&gt;&lt;p&gt;也要避免另一個極端：把所有問題都歸因於 AI。&lt;/p&gt;
&lt;p&gt;AI 只是加速器，不是漏洞根源。漏洞真正的根源仍然是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;歷史程式碼長期累積。&lt;/li&gt;
&lt;li&gt;效能優化中的隱式契約沒有被強制化。&lt;/li&gt;
&lt;li&gt;跨子系統複雜度太高。&lt;/li&gt;
&lt;li&gt;預設暴露的內核功能太多。&lt;/li&gt;
&lt;li&gt;安全測試沒有覆蓋所有組合路徑。&lt;/li&gt;
&lt;li&gt;容器、多租戶和自動化執行環境擴大了本地漏洞價值。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果沒有這些基礎條件，AI 再強也挖不出這麼多高影響漏洞。反過來，只要這些條件存在，AI 越成熟，漏洞就越容易被系統性挖出。&lt;/p&gt;
&lt;h2 id=&#34;對防守方意味著什麼&#34;&gt;對防守方意味著什麼
&lt;/h2&gt;&lt;p&gt;對維運、安全和平台團隊來說，這輪事件有幾個直接啟示。&lt;/p&gt;
&lt;p&gt;第一，不要再把「本地提權」當低優先級。&lt;br&gt;
只要你的環境裡有容器、CI、線上執行、外掛、notebook、多租戶任務，本地提權就可能變成宿主機風險。&lt;/p&gt;
&lt;p&gt;第二，內核補丁節奏要更快。&lt;br&gt;
關鍵宿主機、Kubernetes 節點、CI Runner、AI 沙箱、虛擬化宿主機，不應該長期停留在舊內核。內核更新、重啟窗口、live patch、灰度回滾都要有明確流程。&lt;/p&gt;
&lt;p&gt;第三，減少不必要的內核攻擊面。&lt;br&gt;
不需要的協定、模組、使用者命名空間、特殊 socket、除錯介面，要按業務需要收緊。預設開啟不等於預設應該暴露。&lt;/p&gt;
&lt;p&gt;第四，容器安全要假設內核可能被打穿。&lt;br&gt;
容器裡使用非 root、最小 capabilities、seccomp、AppArmor/SELinux、唯讀文件系統、隔離敏感掛載，仍然很重要。它們未必能擋住所有內核漏洞，但能減少前置條件和後續破壞。&lt;/p&gt;
&lt;p&gt;第五，監控要關注提權鏈條。&lt;br&gt;
不僅要看遠端入口，也要看異常進程、敏感文件讀取、內核模組載入、容器逃逸跡象、CI Runner 異常行為、&lt;code&gt;/etc/shadow&lt;/code&gt;、SSH host key 等高價值文件訪問。&lt;/p&gt;
&lt;h2 id=&#34;對開源社群意味著什麼&#34;&gt;對開源社群意味著什麼
&lt;/h2&gt;&lt;p&gt;對 Linux 社群和大型開源項目來說，AI 漏洞挖掘會帶來雙重壓力。&lt;/p&gt;
&lt;p&gt;一方面，AI 會幫防守方更快找到老問題。更多潛伏漏洞被公開修復，從長期看是好事。&lt;/p&gt;
&lt;p&gt;另一方面，AI 也會製造噪音。低品質自動報告、誤報、重複報告、沒有上下文的「AI 找 bug」會消耗維護者時間。真正的挑戰不是「是否使用 AI」，而是如何把 AI 輸出納入負責任的安全流程：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;報告必須有最小復現。&lt;/li&gt;
&lt;li&gt;必須明確影響範圍和威脅模型。&lt;/li&gt;
&lt;li&gt;必須區分理論問題、可觸發 bug、可利用漏洞。&lt;/li&gt;
&lt;li&gt;必須尊重 embargo、發行版協調和修復窗口。&lt;/li&gt;
&lt;li&gt;維護者需要更好的自動化測試、fuzzing、靜態分析和回歸驗證。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI 讓漏洞發現更快，也要求修復和協調機制更成熟。否則，安全研究的生產力提升會轉化成維護者的壓力和使用者的恐慌。&lt;/p&gt;
&lt;h2 id=&#34;結論不是神話破滅而是安全現實變了&#34;&gt;結論：不是神話破滅，而是安全現實變了
&lt;/h2&gt;&lt;p&gt;Linux 仍然是最透明、最可控、最能被修復和加固的主流作業系統基礎設施之一。問題不在於 Linux 突然「不安全」，而在於現代內核的複雜度、雲原生使用方式和 AI 輔助漏洞挖掘，正在改變漏洞暴露速度。&lt;/p&gt;
&lt;p&gt;以後類似事件很可能還會出現。不是因為每次都有新的災難，而是因為過去積累的複雜路徑正在被更高效率地搜尋。&lt;/p&gt;
&lt;p&gt;真正該改變的是我們的安全假設：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不能把「沒披露漏洞」當作「沒有漏洞」。&lt;/li&gt;
&lt;li&gt;不能把「本地提權」當作低風險。&lt;/li&gt;
&lt;li&gt;不能把「容器隔離」當作強安全邊界。&lt;/li&gt;
&lt;li&gt;不能只靠人工審查面對千萬行級別系統軟體。&lt;/li&gt;
&lt;li&gt;不能只等補丁，而要提前縮小攻擊面、加快補丁節奏、建立縱深防禦。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI 讓漏洞挖掘進入更高產能時代。對攻擊者是這樣，對防守者也一樣。區別在於，防守方能不能把這種能力變成更快的審計、更早的修復和更穩的基礎設施治理。&lt;/p&gt;
&lt;h2 id=&#34;參考資料&#34;&gt;參考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zhihu.com/question/28339369/answer/2039681587684586658&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;知乎討論：Linux 內核連續漏洞事件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/theori-io/copy-fail-CVE-2026-31431&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Theori：Copy Fail / CVE-2026-31431&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ubuntu.com/blog/copy-fail-vulnerability-fixes-available&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ubuntu：Copy Fail vulnerability fixes available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.microsoft.com/en-us/security/blog/2026/05/01/cve-2026-31431-copy-fail-vulnerability-enables-linux-root-privilege-escalation/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Microsoft Security Blog：CVE-2026-31431 Copy Fail vulnerability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.qualys.com/misc/2026/05/20/cve-2026-46333-local-root-privilege-escalation-and-credential-disclosure-in-the-linux-kernel-ptrace-path&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Qualys：CVE-2026-46333 Linux kernel ptrace path advisory&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ubuntu.com/blog/ssh-keysign-pwn-linux-vulnerability-fixes-available&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ubuntu：CVE-2026-46333 mitigations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.helpnetsecurity.com/2026/05/08/dirty-frag-linux-vulnerability-cve-2026-43284-cve-2026-43500/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Help Net Security：Dirty Frag Linux vulnerability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.techradar.com/pro/security/another-major-linux-security-issue-uncovered-new-fragnesia-flaw-allows-attackers-to-run-malicious-code-as-root&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TechRadar：Fragnesia CVE-2026-46300 報導&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>近期四個 Linux 本地提權漏洞影響梳理：Copy Fail、Dirty Frag、Fragnesia 與 ssh-keysign-pwn</title>
        <link>https://knightli.com/zh-tw/2026/05/20/linux-lpe-four-vulnerabilities-impact-summary/</link>
        <pubDate>Wed, 20 May 2026 23:00:37 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/20/linux-lpe-four-vulnerabilities-impact-summary/</guid>
        <description>&lt;p&gt;最近 Linux 生態連續出現幾起高關注度的本地安全問題。單獨看，它們分別落在加密介面、網路/IPsec 路徑、頁快取處理、ptrace 存取檢查等不同位置；放在一起看，真正值得警惕的是同一個結論：只要攻擊者已經拿到低權限本地執行點，Linux 宿主機、容器節點、CI 機器和多使用者伺服器的風險都會被明顯放大。&lt;/p&gt;
&lt;p&gt;本文重點不複述每個漏洞的技術細節，而是整理它們對實際環境的影響，並給出站內四篇單獨分析文章作為延伸閱讀。&lt;/p&gt;
&lt;h2 id=&#34;四次事件分別影響什麼&#34;&gt;四次事件分別影響什麼
&lt;/h2&gt;&lt;p&gt;近期最需要關注的四個風險是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Copy Fail（CVE-2026-31431）：低權限本地使用者可能透過內核加密相關路徑影響頁快取，進而擴大權限。&lt;/li&gt;
&lt;li&gt;Dirty Frag（CVE-2026-43284 / CVE-2026-43500 相關）：風險集中在 xfrm/ESP、RxRPC 等網路和內核資料路徑，後滲透階段危害很高。&lt;/li&gt;
&lt;li&gt;Fragnesia（CVE-2026-46300）：與 Dirty Frag 相近，同樣圍繞 XFRM ESP-in-TCP、共享 fragment 和頁快取寫入風險展開。&lt;/li&gt;
&lt;li&gt;ssh-keysign-pwn（CVE-2026-46333）：不是直接 root shell 類型漏洞，而是本地資訊洩露風險，可能讀取 SSH 主機私鑰、&lt;code&gt;/etc/shadow&lt;/code&gt; 等敏感檔案。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這四類問題的入口不同，緩解方式也不完全一樣。不能因為處理了 Copy Fail，就預設 Dirty Frag 和 Fragnesia 也安全；也不能因為禁用了某些網路模組，就認為 ssh-keysign-pwn 的資訊洩露風險自動消失。&lt;/p&gt;
&lt;h2 id=&#34;copy-fail容器和-ci-節點優先級很高&#34;&gt;Copy Fail：容器和 CI 節點優先級很高
&lt;/h2&gt;&lt;p&gt;Copy Fail 的關鍵影響不是「某個應用崩潰」，而是低權限執行能力可能被轉化為 root 權限。它對以下環境尤其敏感：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;允許使用者上傳或執行程式碼的 CI/CD 節點。&lt;/li&gt;
&lt;li&gt;託管不可信工作負載的容器宿主機。&lt;/li&gt;
&lt;li&gt;開發測試機、跳板機、共享伺服器。&lt;/li&gt;
&lt;li&gt;執行舊內核且補丁節奏較慢的雲主機。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Copy Fail 的危險點在於攻擊門檻偏低，而且容易和容器場景疊加。很多團隊把容器當作強隔離邊界，但普通容器預設仍共享宿主機內核。如果攻擊者能在容器內取得 shell，內核本地提權就可能把容器問題放大為宿主機問題。&lt;/p&gt;
&lt;p&gt;詳細分析見站內文章：&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/copy-fail-cve-2026-31431-linux-kernel-container-escape/&#34; &gt;Copy Fail 漏洞 CVE-2026-31431：Linux 內核檔案複製路徑中的容器逃逸風險&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;dirty-frag後滲透階段的放大器&#34;&gt;Dirty Frag：後滲透階段的放大器
&lt;/h2&gt;&lt;p&gt;Dirty Frag 更像是攻擊者進入系統後的權限放大工具。它不是典型的遠端無認證漏洞，前提通常是攻擊者已經透過弱密碼、WebShell、低權限服務帳號、容器任務或其他方式取得本地執行能力。&lt;/p&gt;
&lt;p&gt;它的實際影響主要體現在：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;已被入侵的低權限帳號可能進一步變成 root。&lt;/li&gt;
&lt;li&gt;容器環境中的低權限執行點可能威脅宿主機。&lt;/li&gt;
&lt;li&gt;使用 IPsec、ESP、RxRPC 或相關內核網路能力的系統需要謹慎評估補丁和臨時緩解。&lt;/li&gt;
&lt;li&gt;安全團隊不能只看邊界防護，還要關注入侵後的提權鏈條。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dirty Frag 提醒運維團隊：本地提權漏洞雖然不是第一入口，卻可能決定一次入侵最終能走多遠。只要存在低權限落點，攻擊者就會尋找內核漏洞把權限推到最高。&lt;/p&gt;
&lt;p&gt;詳細分析見站內文章：&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/09/dirty-frag-cve-2026-43284-linux-lpe-mitigation/&#34; &gt;Dirty Frag CVE-2026-43284：Linux 本地提權漏洞風險與緩解指南&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;fragnesia同類攻擊面沒有一次性清乾淨&#34;&gt;Fragnesia：同類攻擊面沒有一次性清乾淨
&lt;/h2&gt;&lt;p&gt;Fragnesia 的重要性在於，它說明 Dirty Frag 附近的攻擊面並不是一個孤立問題。即使某個漏洞被修復，相鄰路徑、相似資料結構、相同模組組合裡仍可能存在新的可利用點。&lt;/p&gt;
&lt;p&gt;它對運維的影響主要是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不能只按漏洞名稱做一次性處置，要按攻擊面持續檢查。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt;、XFRM、ESP-in-TCP 等相關路徑需要結合業務依賴評估。&lt;/li&gt;
&lt;li&gt;如果系統不依賴相關網路能力，可以考慮臨時禁用，但必須先在測試環境確認不會影響 VPN、IPsec、隧道或內部網路功能。&lt;/li&gt;
&lt;li&gt;頁快取污染類風險可能帶來「看似檔案沒改，實際執行路徑受影響」的檢測盲點。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Fragnesia 對企業最大的提醒是：補丁管理不能只盯單個 CVE。更穩妥的做法是圍繞子系統和攻擊面建立清單，確認哪些機器暴露相關能力，哪些業務真正需要這些模組。&lt;/p&gt;
&lt;p&gt;詳細分析見站內文章：&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/&#34; &gt;Fragnesia (CVE-2026-46300)：Linux 內核本地提權漏洞影響與緩解&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;ssh-keysign-pwn不直接-root也足夠危險&#34;&gt;ssh-keysign-pwn：不直接 root，也足夠危險
&lt;/h2&gt;&lt;p&gt;ssh-keysign-pwn 與前三個漏洞的性質不同。它更偏向本地敏感資訊洩露，不是直接拿 root shell 的漏洞。但在真實攻擊中，敏感資訊洩露常常能變成更嚴重的後果。&lt;/p&gt;
&lt;p&gt;它的影響重點包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SSH host private keys 洩露後，可能影響主機身分可信度。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/shadow&lt;/code&gt; 等檔案被讀取後，可能引發離線破解和帳號接管。&lt;/li&gt;
&lt;li&gt;多使用者伺服器、跳板機、建置機、共享開發機風險更高。&lt;/li&gt;
&lt;li&gt;即使攻擊者沒有立刻提權，也可能拿到後續橫向移動需要的憑據材料。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這類問題容易被低估，因為它沒有「直接 root shell」那麼刺激。但對企業環境來說，密鑰和密碼雜湊洩露往往意味著更長週期的清理：輪換 SSH 主機密鑰、排查信任關係、檢查帳號密碼、審計登入日誌，都可能成為必要動作。&lt;/p&gt;
&lt;p&gt;詳細分析見站內文章：&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/17/ssh-keysign-pwn-cve-2026-46333/&#34; &gt;ssh-keysign-pwn（CVE-2026-46333）解讀：Linux 本地資訊洩露、SSH 主機密鑰與 /etc/shadow 風險&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;共同影響容器隔離不能再被當作強邊界&#34;&gt;共同影響：容器隔離不能再被當作強邊界
&lt;/h2&gt;&lt;p&gt;這四次事件合在一起，最直接的影響是重新提醒大家：普通容器隔離不是虛擬機隔離。&lt;/p&gt;
&lt;p&gt;Docker、containerd 和 Kubernetes 依賴 namespace、cgroup、capabilities、seccomp、AppArmor 或 SELinux 等機制減少攻擊面，但它們通常仍共享宿主機內核。只要漏洞發生在共享內核裡，容器內的低權限執行點就可能成為攻擊入口。&lt;/p&gt;
&lt;p&gt;高風險環境應重點檢查：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;是否允許不可信程式碼執行在共享宿主機上。&lt;/li&gt;
&lt;li&gt;容器是否預設 root 使用者執行。&lt;/li&gt;
&lt;li&gt;是否授予了不必要的 capabilities。&lt;/li&gt;
&lt;li&gt;seccomp 配置是否過寬。&lt;/li&gt;
&lt;li&gt;多租戶工作負載是否應該遷移到 gVisor、Kata Containers、Firecracker microVM、獨立虛擬機或專用節點。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;對 CI/CD 平台尤其要謹慎。建置任務天然會執行外部程式碼、依賴安裝腳本、測試腳本和臨時二進位。如果這些任務與長期服務共享宿主機，一次本地提權就可能影響更大的基礎設施。&lt;/p&gt;
&lt;h2 id=&#34;共同影響補丁必須落到正在執行的內核&#34;&gt;共同影響：補丁必須落到「正在執行的內核」
&lt;/h2&gt;&lt;p&gt;Linux 內核補丁有一個很常見的誤區：套件管理器顯示已經更新，不代表機器正在執行新內核。&lt;/p&gt;
&lt;p&gt;運維上至少要確認三件事：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uname -a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;確認目前執行內核版本。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dpkg -l &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep linux-image
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;或在 RHEL 系發行版上：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rpm -qa &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep kernel
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;確認已安裝內核套件。&lt;/p&gt;
&lt;p&gt;最後，還要確認機器已經重啟到修復後的內核。對不能重啟的核心業務，要評估 livepatch、熱補丁或短期隔離方案，但不要把臨時緩解當作最終修復。&lt;/p&gt;
&lt;h2 id=&#34;共同影響攻擊面最小化要具體到模組和系統呼叫&#34;&gt;共同影響：攻擊面最小化要具體到模組和系統呼叫
&lt;/h2&gt;&lt;p&gt;這幾次漏洞涉及的路徑提醒我們，Linux 加固不能只停留在「更新系統」和「開防火牆」。&lt;/p&gt;
&lt;p&gt;更具體的檢查方向包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AF_ALG / &lt;code&gt;algif_aead&lt;/code&gt; 是否被業務使用。&lt;/li&gt;
&lt;li&gt;XFRM、ESP、ESP-in-TCP、IPsec 是否被 VPN、隧道或安全閘道依賴。&lt;/li&gt;
&lt;li&gt;RxRPC 是否需要啟用。&lt;/li&gt;
&lt;li&gt;非特權使用者命名空間是否必須開放。&lt;/li&gt;
&lt;li&gt;容器是否能建立過寬的 socket 類型。&lt;/li&gt;
&lt;li&gt;ptrace 存取策略是否過鬆。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果業務確實不需要某些能力，可以評估禁用模組、調整 sysctl、收緊 seccomp、減少 capabilities。生產環境不要盲目複製命令，應先盤點依賴，再灰度執行。&lt;/p&gt;
&lt;h2 id=&#34;建議的處置順序&#34;&gt;建議的處置順序
&lt;/h2&gt;&lt;p&gt;第一，優先修復可本地執行程式碼的高暴露機器：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;容器宿主機。&lt;/li&gt;
&lt;li&gt;CI/CD runner。&lt;/li&gt;
&lt;li&gt;跳板機。&lt;/li&gt;
&lt;li&gt;多使用者伺服器。&lt;/li&gt;
&lt;li&gt;對外服務所在主機。&lt;/li&gt;
&lt;li&gt;執行不可信插件、腳本、擴充的系統。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第二，確認發行版公告和實際執行內核。不要只看上游版本號，Debian、Ubuntu、RHEL、AlmaLinux、Rocky Linux、SUSE、openEuler 等發行版可能會 backport 安全補丁。&lt;/p&gt;
&lt;p&gt;第三，收緊容器執行策略。盡量做到非 root 使用者、最小 capabilities、&lt;code&gt;no-new-privileges&lt;/code&gt;、唯讀檔案系統、明確 seccomp 和 AppArmor/SELinux 策略。&lt;/p&gt;
&lt;p&gt;第四，檢查密鑰和憑據風險。尤其是涉及 ssh-keysign-pwn 的環境，應評估 SSH host key、&lt;code&gt;/etc/shadow&lt;/code&gt;、跳板機憑據和 CI secrets 是否需要輪換。&lt;/p&gt;
&lt;p&gt;第五，補上監控。重點關注異常 root shell、可疑本地提權 PoC、關鍵檔案修改、異常 ptrace 行為、容器程序存取宿主機路徑、CI 節點上的異常網路連線。&lt;/p&gt;
&lt;h2 id=&#34;結論&#34;&gt;結論
&lt;/h2&gt;&lt;p&gt;這四次事件的重點不是「Linux 不安全了」，而是「預設信任不夠用了」。&lt;/p&gt;
&lt;p&gt;Linux 仍然是透明、可修復、可裁剪、可加固的主流系統。但在容器、CI、多租戶和 AI 自動化程式碼執行越來越普遍的環境裡，低權限執行點已經不能被看作小問題。只要內核裡存在可利用的本地提權或敏感資訊洩露漏洞，局部入侵就可能變成宿主機控制、憑據洩露或橫向移動。&lt;/p&gt;
&lt;p&gt;更現實的做法是把這四次事件當成一次提醒：補丁要快，重啟要確認，模組要按需啟用，容器要收緊，密鑰要能輪換，多租戶要重新評估隔離等級。&lt;/p&gt;
&lt;p&gt;站內延伸閱讀：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/01/copy-fail-cve-2026-31431-linux-kernel-container-escape/&#34; &gt;Copy Fail 漏洞 CVE-2026-31431：Linux 內核檔案複製路徑中的容器逃逸風險&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/09/dirty-frag-cve-2026-43284-linux-lpe-mitigation/&#34; &gt;Dirty Frag CVE-2026-43284：Linux 本地提權漏洞風險與緩解指南&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/&#34; &gt;Fragnesia (CVE-2026-46300)：Linux 內核本地提權漏洞影響與緩解&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/zh-tw/2026/05/17/ssh-keysign-pwn-cve-2026-46333/&#34; &gt;ssh-keysign-pwn（CVE-2026-46333）解讀：Linux 本地資訊洩露、SSH 主機密鑰與 /etc/shadow 風險&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>APT45 用 AI 批量驗證漏洞：零日攻擊門檻正在下降</title>
        <link>https://knightli.com/zh-tw/2026/05/17/apt45-ai-zero-day-threat-tracker/</link>
        <pubDate>Sun, 17 May 2026 19:52:39 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/17/apt45-ai-zero-day-threat-tracker/</guid>
        <description>&lt;p&gt;Google Threat Intelligence Group 在 2026 年 5 月 11 日發布了新的 AI Threat Tracker。報告裡最值得注意的不是「攻擊者開始用 AI」這件事本身，而是使用方式正在從輔助寫作、翻譯、偵察，進入漏洞研究、PoC 驗證、惡意程式碼混淆和自動化攻擊編排。&lt;/p&gt;
&lt;p&gt;這裡有兩個容易被混在一起的點，需要先拆開。&lt;/p&gt;
&lt;p&gt;第一，Google 表示他們首次發現了一個高度疑似由 AI 輔助開發的零日漏洞利用。這個案例來自未具名的網路犯罪團伙，目標是一個流行的開源 Web 系統管理工具，漏洞可在已有帳號憑證的前提下繞過 2FA。Google 表示已與受影響廠商協作披露，並可能阻止了一次大規模利用。&lt;/p&gt;
&lt;p&gt;第二，APT45 不是這起零日案例的歸因對象。GTIG 另行提到，與北韓相關的 APT45 被觀察到向 AI 模型發送大量重複提示，用於遞迴分析不同 CVE，並驗證 PoC exploit。這說明 APT45 正在把 AI 當成漏洞研究和武器庫整理工具，而不只是用 AI 寫釣魚郵件。&lt;/p&gt;
&lt;h2 id=&#34;ai-零日案例說明了什麼&#34;&gt;AI 零日案例說明了什麼
&lt;/h2&gt;&lt;p&gt;這起零日並不是傳統上最常見的記憶體破壞、輸入過濾缺陷或簡單設定錯誤。GTIG 把它描述為一個高層語義邏輯問題：開發者在認證流程裡硬編碼了某種信任假設，導致 2FA enforcement 邏輯和例外條件之間出現矛盾。&lt;/p&gt;
&lt;p&gt;這類漏洞對傳統掃描器不友好。靜態分析和 fuzzing 更擅長找崩潰、危險函式、輸入輸出路徑和已知模式。它們不一定能理解「開發者本來想保證什麼，卻在哪個例外裡破壞了這個保證」。&lt;/p&gt;
&lt;p&gt;大模型的風險就在這裡。它不一定比專業安全研究員更強，但它擅長讀上下文、解釋意圖、比較相似程式碼路徑，並指出「這裡的業務邏輯前後不一致」。當這種能力被攻擊者接入自動化流程後，原本需要資深研究員長時間閱讀的邏輯漏洞，可能更容易被批量篩出來。&lt;/p&gt;
&lt;p&gt;GTIG 還提到，這段 exploit 程式碼裡有不少 AI 生成痕跡，例如教育式 docstring、虛構的 CVSS 分數，以及接近教材風格的 Python 結構。Google 同時說明，他們不認為 Gemini 被用於該 exploit，但對攻擊者使用某個 AI 模型輔助發現和武器化漏洞有較高信心。&lt;/p&gt;
&lt;h2 id=&#34;apt45-的變化更值得長期關注&#34;&gt;APT45 的變化更值得長期關注
&lt;/h2&gt;&lt;p&gt;APT45 長期被視為北韓相關威脅組織，活動目標涵蓋間諜、金融收益和戰略情報。GTIG 這次強調的是它使用 AI 的方式：大量、重複、遞迴地分析 CVE，驗證 PoC exploit，並把結果沉澱成更可靠的攻擊能力。&lt;/p&gt;
&lt;p&gt;這和「讓 AI 寫一段腳本」不是一個量級。&lt;/p&gt;
&lt;p&gt;如果一個組織能把 AI 接入漏洞篩選、PoC 驗證、payload 調整和測試環境，那麼它的人力瓶頸會改變。過去，一個團隊能同時研究多少漏洞，取決於研究員數量、經驗和時間。現在，AI 可以承擔一部分重複閱讀、歸納、變體測試和初步判斷，讓人的精力更多放在挑選目標、驗證可用性和實戰投遞上。&lt;/p&gt;
&lt;p&gt;對防守方來說，這意味著已知漏洞的窗口期會更短。&lt;/p&gt;
&lt;p&gt;一個 CVE 披露後，攻擊者不需要從零讀公告、找補丁 diff、搭環境、改 PoC。AI 可以幫助它更快理解影響範圍、生成測試思路、排查失敗原因，並把不同目標版本裡的細節差異整理出來。即使 AI 生成的結果需要人工修正，它也足以提高整體吞吐量。&lt;/p&gt;
&lt;h2 id=&#34;這不是ai-自動黑掉一切&#34;&gt;這不是「AI 自動黑掉一切」
&lt;/h2&gt;&lt;p&gt;也沒必要把這件事理解成 AI 已經可以獨立完成完整入侵。&lt;/p&gt;
&lt;p&gt;GTIG 的報告更像是在說：攻擊鏈裡的多個環節正在被 AI 加速。漏洞研究、惡意程式碼混淆、偵察、社交工程、資訊操作、行動端 UI 自動化、供應鏈投毒，都已經出現了 AI 參與的跡象。&lt;/p&gt;
&lt;p&gt;但 AI 仍然會犯錯。它可能幻覺漏洞、誤判可利用性、生成不可執行程式碼，也可能在複雜企業權限邏輯裡迷路。真正危險的地方不是 AI 完美無缺，而是攻擊者可以低成本試錯。只要大規模嘗試足夠便宜，一部分錯誤輸出就會被過濾掉，剩下的可用結果會進入攻擊流程。&lt;/p&gt;
&lt;p&gt;這也是 APT45 這類案例值得關注的原因：國家級或準國家級組織不缺目標和耐心。如果 AI 能把重複勞動壓縮掉，它們就能把更多資源投向真正高價值的目標。&lt;/p&gt;
&lt;h2 id=&#34;防守重點要從有沒有零日擴展到窗口期多短&#34;&gt;防守重點要從「有沒有零日」擴展到「窗口期多短」
&lt;/h2&gt;&lt;p&gt;很多企業過去會把風險分成兩類：已知漏洞靠補丁管理，零日漏洞靠縱深防禦。但 AI 進入漏洞研究後，這條邊界會變得更模糊。&lt;/p&gt;
&lt;p&gt;更現實的問題是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;新 CVE 披露後，外部攻擊者多久能形成可用 exploit？&lt;/li&gt;
&lt;li&gt;企業資產清單能否在同一天告訴你哪些系統受影響？&lt;/li&gt;
&lt;li&gt;WAF、EDR、日誌和身份系統能否發現異常嘗試？&lt;/li&gt;
&lt;li&gt;高風險系統是否預設啟用 MFA、最小權限和網路隔離？&lt;/li&gt;
&lt;li&gt;開源元件、AI agent 外掛、第三方連接器是否進入供應鏈審查範圍？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;AI 零日不會讓基礎安全失效。相反，它會懲罰那些基礎安全長期欠帳的環境。&lt;/p&gt;
&lt;p&gt;如果補丁週期很慢，資產清單不清楚，網際網路暴露面沒人負責，日誌不可檢索，帳號權限長期過大，那麼攻擊者是否使用 AI 只是效率差異。問題遲早會被撞上。&lt;/p&gt;
&lt;h2 id=&#34;ai-供應鏈也成了攻擊面&#34;&gt;AI 供應鏈也成了攻擊面
&lt;/h2&gt;&lt;p&gt;GTIG 報告還提到，攻擊者開始關注 AI 軟體生態本身，包括 agent 技能包、第三方資料連接器、開源包裝庫和自動化框架。風險不一定來自模型被「攻破」，而是來自模型周圍的工具鏈被投毒。&lt;/p&gt;
&lt;p&gt;這點對使用 AI 編程、AI Agent、自動化外掛的人很重要。&lt;/p&gt;
&lt;p&gt;一個惡意 skill、一個帶後門的依賴、一個過度授權的連接器，都可能讓 AI 系統從「幫你做事」變成「替攻擊者做事」。當 agent 擁有檔案系統、瀏覽器、終端、雲帳號或企業資料權限時，供應鏈審查就不能停留在傳統應用層。&lt;/p&gt;
&lt;p&gt;至少應該做到：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不隨便安裝來源不明的 agent skill 和外掛。&lt;/li&gt;
&lt;li&gt;對能執行命令、讀取檔案、存取密鑰的工具做權限隔離。&lt;/li&gt;
&lt;li&gt;生產環境不要直接執行未經審查的 AI 生成腳本。&lt;/li&gt;
&lt;li&gt;對 AI 專案的依賴、GitHub Actions、PyPI / npm 包做掃描。&lt;/li&gt;
&lt;li&gt;對模型 API Key、雲密鑰、GitHub Token 做最小權限和外洩監控。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;對安全團隊的實際建議&#34;&gt;對安全團隊的實際建議
&lt;/h2&gt;&lt;p&gt;第一，把漏洞回應節奏前移。高危 CVE 不能只等月度補丁窗口，尤其是 VPN、閘道、系統管理面板、身份系統、CI/CD、遠端管理工具這類邊界資產。&lt;/p&gt;
&lt;p&gt;第二，建立可查詢的資產清單。AI 加速攻擊的前提是攻擊者能快速定位目標；防守方也必須能快速回答「我有沒有這類系統、哪個版本、暴露在哪裡」。&lt;/p&gt;
&lt;p&gt;第三，用行為偵測補足簽名偵測。AI 生成 exploit 或惡意程式碼可能會改寫表面特徵，但認證繞過、異常登入、批量探測、失敗請求模式、權限提升路徑仍然會留下行為痕跡。&lt;/p&gt;
&lt;p&gt;第四，把 AI 工具納入安全治理。內部使用的 coding agent、瀏覽器 agent、文件 agent、自動化腳本和外掛市場，都應該有准入、審查、日誌和回滾流程。&lt;/p&gt;
&lt;p&gt;第五，不要把 AI 防守只理解成「買一個安全大模型」。真正有用的是把 AI 放進漏洞優先級排序、日誌分析、補丁影響評估、程式碼審查和配置基線檢查裡，讓防守效率也跟上攻擊效率。&lt;/p&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;GTIG 這次報告的信號很清楚：AI 正在把攻防節奏推快。&lt;/p&gt;
&lt;p&gt;AI 輔助零日說明，邏輯漏洞和認證繞過這類問題可能更容易被模型發現。APT45 的案例說明，成熟威脅組織已經在用 AI 批量分析 CVE 和驗證 PoC。PROMPTSPY、AI 生成混淆程式碼、agent 供應鏈攻擊則說明，AI 不只是攻擊者的聊天工具，而是正在進入攻擊工具鏈。&lt;/p&gt;
&lt;p&gt;這不是末日，但也不是普通新聞。&lt;/p&gt;
&lt;p&gt;對企業來說，最實際的應對不是恐慌，而是把補丁、資產、日誌、身份、供應鏈和 AI 工具權限這些基礎工作做得更快、更清楚、更可驗證。AI 會提高攻擊者的試錯速度，防守方也必須提高發現、判斷和修復速度。&lt;/p&gt;
&lt;h2 id=&#34;參考資料&#34;&gt;參考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cloud.google.com/blog/topics/threat-intelligence/ai-vulnerability-exploitation-initial-access&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Google Cloud Blog：GTIG AI Threat Tracker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cloud.google.com/blog/topics/threat-intelligence/apt45-north-korea-digital-military-machine&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Google Cloud Blog：APT45 North Korea’s Digital Military Machine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://apnews.com/article/926aea7f7dc5e0e61adce3273c55c6d4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AP：Google disrupts hackers using AI to exploit an unknown weakness&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Next.js 高危 SSRF 漏洞 CVE-2026-44578：影響範圍與升級建議</title>
        <link>https://knightli.com/zh-tw/2026/05/17/nextjs-cve-2026-44578-websocket-ssrf/</link>
        <pubDate>Sun, 17 May 2026 17:27:13 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/17/nextjs-cve-2026-44578-websocket-ssrf/</guid>
        <description>&lt;p&gt;Next.js 在 2026 年 5 月揭露了一個高危 SSRF 漏洞：CVE-2026-44578。&lt;/p&gt;
&lt;p&gt;根據 GitHub / Vercel 安全公告 &lt;code&gt;GHSA-c4j6-fc7j-m34r&lt;/code&gt; 和 NVD 記錄，這個漏洞影響自託管的 Next.js 應用，前提是應用使用內建 Node.js server，且暴露在可接收惡意 WebSocket upgrade 請求的網路環境中。攻擊者可能讓伺服器代理請求到任意內部或外部位址，進而暴露內部服務或雲端 metadata 端點。&lt;/p&gt;
&lt;p&gt;Vercel 託管部署不受影響。修復版本是 &lt;code&gt;15.5.16&lt;/code&gt; 和 &lt;code&gt;16.2.5&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;先說結論&#34;&gt;先說結論
&lt;/h2&gt;&lt;p&gt;如果你在自己的伺服器、容器、Kubernetes、ECS、VPS、裸機或 PaaS 上自託管 Next.js，需要優先檢查。&lt;/p&gt;
&lt;p&gt;受影響範圍：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;next &amp;gt;= 13.4.13 &amp;lt; 15.5.16&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;next &amp;gt;= 16.0.0 &amp;lt; 16.2.5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不受影響或風險較低的情況：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;部署在 Vercel 平台上的應用。&lt;/li&gt;
&lt;li&gt;已升級到 &lt;code&gt;15.5.16&lt;/code&gt;、&lt;code&gt;16.2.5&lt;/code&gt; 或更高版本。&lt;/li&gt;
&lt;li&gt;沒有使用內建 Node.js server 暴露服務的場景。&lt;/li&gt;
&lt;li&gt;反向代理或負載平衡已阻斷不需要的 WebSocket upgrade 請求，且出站存取也做了限制。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;建議處置順序：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先確認生產環境實際執行的 &lt;code&gt;next&lt;/code&gt; 版本。&lt;/li&gt;
&lt;li&gt;自託管應用盡快升級到修復版本。&lt;/li&gt;
&lt;li&gt;暫時無法升級時，在反向代理或負載平衡層阻斷不需要的 WebSocket upgrade。&lt;/li&gt;
&lt;li&gt;限制應用伺服器存取雲端 metadata、內網管理面和敏感內部服務。&lt;/li&gt;
&lt;li&gt;排查近期異常 WebSocket upgrade 請求和內部存取日誌。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;漏洞是什麼&#34;&gt;漏洞是什麼
&lt;/h2&gt;&lt;p&gt;CVE-2026-44578 是一個 Server-Side Request Forgery，也就是 SSRF 漏洞。&lt;/p&gt;
&lt;p&gt;SSRF 的核心風險是：攻擊者不直接存取內部系統，而是誘導你的伺服器替他發請求。伺服器通常位於更靠近內網、雲平台和內部服務的位置，所以一旦被當成代理使用，可能存取到外部攻擊者本來碰不到的資源。&lt;/p&gt;
&lt;p&gt;這次 Next.js 的問題出在 WebSocket upgrade 處理路徑。安全公告稱，自託管應用如果使用內建 Node.js server，攻擊者可以透過特製 WebSocket upgrade 請求，讓伺服器代理存取任意內部或外部目的地。&lt;/p&gt;
&lt;p&gt;風險點包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;內網 HTTP 服務。&lt;/li&gt;
&lt;li&gt;管理後台。&lt;/li&gt;
&lt;li&gt;雲端 metadata 位址。&lt;/li&gt;
&lt;li&gt;容器或叢集內部服務。&lt;/li&gt;
&lt;li&gt;只允許伺服器存取的內部 API。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這個漏洞的 CVSS v3.1 評分為 &lt;code&gt;8.6 High&lt;/code&gt;，向量是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;這意味著攻擊面在網路側，攻擊複雜度低，不需要權限，也不需要使用者互動，主要影響機密性。&lt;/p&gt;
&lt;h2 id=&#34;為什麼自託管更危險&#34;&gt;為什麼自託管更危險
&lt;/h2&gt;&lt;p&gt;這次公告明確提到：Vercel-hosted deployments are not affected。&lt;/p&gt;
&lt;p&gt;真正需要重點關注的是自託管部署。原因很簡單：自託管應用的網路環境千差萬別，有些直接暴露 origin server，有些在 Nginx、Traefik、Ingress、Cloudflare、ALB 或自建閘道後面，有些運行在雲主機、容器網路或 Kubernetes 叢集裡。&lt;/p&gt;
&lt;p&gt;如果這些環境沒有限制出站存取，Next.js 程序可能看得到：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;169.254.169.254&lt;/code&gt; 這類雲端 metadata 位址。&lt;/li&gt;
&lt;li&gt;內網 IP 段。&lt;/li&gt;
&lt;li&gt;只在 VPC 內暴露的服務。&lt;/li&gt;
&lt;li&gt;Redis、Elasticsearch、Prometheus、Grafana 等內部元件。&lt;/li&gt;
&lt;li&gt;Kubernetes Service、Pod 或管理端點。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以 SSRF 的危險不只在 Next.js 本身，而在它所在網路裡能存取什麼。&lt;/p&gt;
&lt;h2 id=&#34;如何判斷是否受影響&#34;&gt;如何判斷是否受影響
&lt;/h2&gt;&lt;p&gt;第一步，看 &lt;code&gt;next&lt;/code&gt; 版本。&lt;/p&gt;
&lt;p&gt;在專案目錄裡執行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm ls next
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;或：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm why next
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;也可以直接查看：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat package.json
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat package-lock.json
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat pnpm-lock.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat yarn.lock
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果版本落在下面範圍，就需要處理：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;gt;= 13.4.13 &amp;lt; 15.5.16
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;gt;= 16.0.0 &amp;lt; 16.2.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;第二步，看部署方式。&lt;/p&gt;
&lt;p&gt;重點關注這些情況：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用 &lt;code&gt;next start&lt;/code&gt; 運行生產服務。&lt;/li&gt;
&lt;li&gt;使用自訂 Node.js server 承載 Next.js。&lt;/li&gt;
&lt;li&gt;Docker 映像裡直接啟動 Next.js server。&lt;/li&gt;
&lt;li&gt;Kubernetes / ECS / VPS / 裸機自託管。&lt;/li&gt;
&lt;li&gt;反向代理後面仍然直接暴露 Next.js origin。&lt;/li&gt;
&lt;li&gt;應用所在網路能存取內部服務或雲端 metadata。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果應用部署在 Vercel，按官方公告不受這個漏洞影響。但依然建議保持 Next.js 版本更新，因為同一批版本裡可能還修復了其他問題。&lt;/p&gt;
&lt;h2 id=&#34;應該升級到什麼版本&#34;&gt;應該升級到什麼版本
&lt;/h2&gt;&lt;p&gt;官方修復版本是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;15.5.16&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;16.2.5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;升級示例：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install next@15.5.16
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;或如果使用 16.x：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install next@16.2.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;pnpm：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm add next@15.5.16
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;或：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm add next@16.2.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;升級後重新建置並發布：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;或按你的 CI/CD 流程重新建置 Docker 映像並發布。&lt;/p&gt;
&lt;p&gt;如果你的專案鎖定在 14.x 或 15.x，不建議為了修漏洞倉促跨大版本到 16.x。更穩妥的做法是先升級到 &lt;code&gt;15.5.16&lt;/code&gt; 這一修復線，完成測試和發布後，再規劃大版本升級。&lt;/p&gt;
&lt;h2 id=&#34;臨時緩解措施&#34;&gt;臨時緩解措施
&lt;/h2&gt;&lt;p&gt;如果暫時不能升級，安全公告給出的核心思路是：不要把 origin server 直接暴露給不可信網路；如果不需要 WebSocket upgrade，就在反向代理或負載平衡層阻斷；同時盡量限制 origin 的出站存取。&lt;/p&gt;
&lt;p&gt;可以考慮這些緩解方向：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;不直接暴露 Next.js origin server。&lt;/li&gt;
&lt;li&gt;在 Nginx、Ingress、ALB、Cloudflare 等入口層過濾不需要的 WebSocket upgrade。&lt;/li&gt;
&lt;li&gt;如果業務不使用 WebSocket，直接拒絕帶有 upgrade 語義的請求。&lt;/li&gt;
&lt;li&gt;對應用伺服器做 egress 限制，禁止存取雲端 metadata 位址和敏感內網段。&lt;/li&gt;
&lt;li&gt;用雲平台能力啟用更安全的 metadata 存取模式，例如要求 token 的 metadata 服務。&lt;/li&gt;
&lt;li&gt;對管理後台、資料庫、快取、監控系統增加認證和網路隔離。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;注意，反向代理規則只是臨時緩解，不應該替代升級。框架漏洞最終仍然要透過修復版本解決。&lt;/p&gt;
&lt;h2 id=&#34;維運排查重點&#34;&gt;維運排查重點
&lt;/h2&gt;&lt;p&gt;這個漏洞主要影響機密性，所以排查重點是「有沒有被用來存取內部資源」。&lt;/p&gt;
&lt;p&gt;建議關注：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web 存取日誌中異常的 &lt;code&gt;Upgrade&lt;/code&gt;、&lt;code&gt;Connection&lt;/code&gt;、&lt;code&gt;Host&lt;/code&gt;、路徑和來源 IP。&lt;/li&gt;
&lt;li&gt;反向代理或負載平衡日誌中異常的 WebSocket upgrade 請求。&lt;/li&gt;
&lt;li&gt;Next.js 服務附近的異常出站連線。&lt;/li&gt;
&lt;li&gt;雲端 metadata 服務存取日誌或憑證使用記錄。&lt;/li&gt;
&lt;li&gt;內網管理服務、監控系統、快取、搜尋服務的異常存取。&lt;/li&gt;
&lt;li&gt;IAM 臨時憑證、存取金鑰、token 是否有異常調用。&lt;/li&gt;
&lt;li&gt;容器或主機上是否出現異常程序、下載行為或橫向移動跡象。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果懷疑被利用，建議按外洩場景處理：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;保留日誌和現場。&lt;/li&gt;
&lt;li&gt;輪換可能暴露的雲端憑證、API key、資料庫密碼和 session secret。&lt;/li&gt;
&lt;li&gt;檢查雲帳號最近的 API 調用。&lt;/li&gt;
&lt;li&gt;檢查內網服務存取記錄。&lt;/li&gt;
&lt;li&gt;重建受影響容器或主機。&lt;/li&gt;
&lt;li&gt;複查出站存取策略和 metadata 保護。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;這和-reactnextjs-rce-不是一回事&#34;&gt;這和 React/Next.js RCE 不是一回事
&lt;/h2&gt;&lt;p&gt;容易混淆的一點是，CVE-2026-44578 是 Next.js WebSocket upgrade SSRF，不是之前 React Server Components 相關的 RCE。&lt;/p&gt;
&lt;p&gt;它的核心影響是讓伺服器向攻擊者指定的內部或外部位址發請求，主要風險是資訊外洩和內部資源探測。&lt;/p&gt;
&lt;p&gt;而 React Server Components 相關 RCE 則屬於程式碼執行風險，攻擊後果和修復範圍不同。&lt;/p&gt;
&lt;p&gt;所以排查時不要只看「Next.js 有漏洞」這個大標題，要把具體 CVE、影響版本、部署模式和修復版本對應起來。&lt;/p&gt;
&lt;h2 id=&#34;哪些團隊要優先處理&#34;&gt;哪些團隊要優先處理
&lt;/h2&gt;&lt;p&gt;優先級最高的是這些環境：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;自託管 Next.js 生產站點。&lt;/li&gt;
&lt;li&gt;運行在雲主機、容器、Kubernetes 或內網環境。&lt;/li&gt;
&lt;li&gt;應用伺服器可以存取雲端 metadata 服務。&lt;/li&gt;
&lt;li&gt;應用伺服器能存取內部管理後台、資料庫、快取或監控系統。&lt;/li&gt;
&lt;li&gt;直接暴露 &lt;code&gt;next start&lt;/code&gt; origin server。&lt;/li&gt;
&lt;li&gt;使用老版本 &lt;code&gt;next&lt;/code&gt;，且升級流程不清晰。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;優先級相對較低的是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;完全部署在 Vercel 的應用。&lt;/li&gt;
&lt;li&gt;已升級到修復版本的應用。&lt;/li&gt;
&lt;li&gt;origin server 不直接暴露，且入口層已經阻斷不需要的 WebSocket upgrade。&lt;/li&gt;
&lt;li&gt;出站網路嚴格受控，無法存取敏感內網資源。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但「優先級較低」不等於可以不升級。Next.js 是高頻暴露元件，框架版本長期落後會疊加更多風險。&lt;/p&gt;
&lt;h2 id=&#34;給開發團隊的檢查清單&#34;&gt;給開發團隊的檢查清單
&lt;/h2&gt;&lt;p&gt;可以按下面清單處理：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 確認所有倉庫的 &lt;code&gt;next&lt;/code&gt; 版本。&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 查出所有自託管部署，不只看 Vercel 專案。&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 標記使用 &lt;code&gt;next start&lt;/code&gt; 或內建 Node.js server 的服務。&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 升級到 &lt;code&gt;15.5.16&lt;/code&gt;、&lt;code&gt;16.2.5&lt;/code&gt; 或更高版本。&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 重新建置並發布生產映像。&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 在入口層阻斷不需要的 WebSocket upgrade。&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 限制應用伺服器存取雲端 metadata 和敏感內網段。&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 檢查近期異常 upgrade 請求和出站存取。&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 輪換疑似暴露的憑證。&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 把 Next.js 安全更新納入依賴更新流程。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;總結&#34;&gt;總結
&lt;/h2&gt;&lt;p&gt;CVE-2026-44578 是一個需要認真處理的 Next.js 高危 SSRF 漏洞。&lt;/p&gt;
&lt;p&gt;它不影響 Vercel 託管部署，但影響範圍覆蓋大量自託管 Next.js 應用：&lt;code&gt;13.4.13&lt;/code&gt; 到 &lt;code&gt;15.5.16&lt;/code&gt; 之前，以及 &lt;code&gt;16.0.0&lt;/code&gt; 到 &lt;code&gt;16.2.5&lt;/code&gt; 之前。漏洞觸發點在 WebSocket upgrade 處理路徑，攻擊者可能讓伺服器代理存取內部或外部位址，進而暴露內網服務或雲端 metadata 端點。&lt;/p&gt;
&lt;p&gt;最直接的修復方式是升級到 &lt;code&gt;15.5.16&lt;/code&gt; 或 &lt;code&gt;16.2.5&lt;/code&gt;。臨時緩解則是不要直接暴露 origin server，阻斷不需要的 WebSocket upgrade，並限制應用伺服器的出站存取。&lt;/p&gt;
&lt;p&gt;對維運團隊來說，重點不是只看 CVE 分數，而是看你的 Next.js 服務所在網路能存取什麼。SSRF 的真實風險，往往取決於伺服器背後有哪些內網資源和雲權限。&lt;/p&gt;
&lt;p&gt;參考連結：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Advisory：GHSA-c4j6-fc7j-m34r&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2026-44578&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVD：CVE-2026-44578&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://security.snyk.io/vuln/SNYK-JS-NEXT-16638682&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Snyk：SNYK-JS-NEXT-16638682&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>ssh-keysign-pwn（CVE-2026-46333）解讀：Linux 本地資訊外洩、SSH 主機金鑰與 /etc/shadow 風險</title>
        <link>https://knightli.com/zh-tw/2026/05/17/ssh-keysign-pwn-cve-2026-46333/</link>
        <pubDate>Sun, 17 May 2026 09:29:03 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/17/ssh-keysign-pwn-cve-2026-46333/</guid>
        <description>&lt;p&gt;&lt;code&gt;ssh-keysign-pwn&lt;/code&gt; 是圍繞 Linux kernel &lt;code&gt;__ptrace_may_access()&lt;/code&gt; 邏輯問題公開的一組利用路徑，CVE 編號為 &lt;code&gt;CVE-2026-46333&lt;/code&gt;。它不是遠端未授權漏洞，也不是直接取得 root shell 的漏洞，但風險仍然很高：本地低權限使用者可能讀取本不該存取的 root 敏感檔案，例如 SSH 主機私鑰或 &lt;code&gt;/etc/shadow&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;對維運來說，重點不是重現 PoC，而是盡快判斷哪些機器受影響、升級核心、重新啟動生效，並在必要時輪換 SSH host keys 和重設密碼。&lt;/p&gt;
&lt;h2 id=&#34;先說結論&#34;&gt;先說結論
&lt;/h2&gt;&lt;p&gt;這次漏洞的處置優先級很高，原因有四點：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;觸發條件是本地低權限使用者，不需要 root。&lt;/li&gt;
&lt;li&gt;已有公開 PoC，利用門檻明顯降低。&lt;/li&gt;
&lt;li&gt;影響目標不是普通檔案，而可能是 SSH 主機私鑰和 &lt;code&gt;/etc/shadow&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;修復需要核心修補並重新啟動，不能只升級套件後不重啟。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你的伺服器有多使用者、本地 shell、共享主機、CI runner、容器宿主機、學生機房、跳板機或任何「不完全可信的本地使用者」，應該優先處理。&lt;/p&gt;
&lt;h2 id=&#34;漏洞是什麼&#34;&gt;漏洞是什麼
&lt;/h2&gt;&lt;p&gt;Qualys 在 2026 年 5 月 15 日透過 oss-security 公開說明：他們此前向 &lt;code&gt;security@kernel.org&lt;/code&gt; 回報了 Linux kernel &lt;code&gt;__ptrace_may_access()&lt;/code&gt; 的邏輯問題，上游修復已由 Linus 合入。隨後社群出現公開利用程式，因此 Qualys 將資訊發到 oss-security。&lt;/p&gt;
&lt;p&gt;Linux kernel CVE 團隊隨後為這個問題分配了 &lt;code&gt;CVE-2026-46333&lt;/code&gt;。NVD 頁面顯示該 CVE 來源為 kernel.org，問題描述對應核心提交 &lt;code&gt;ptrace: slightly saner &#39;get_dumpable()&#39; logic&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;簡單說，這個漏洞出現在程序退出路徑上。某些特權程序正在退出時，核心中與 &lt;code&gt;ptrace&lt;/code&gt; 存取檢查相關的邏輯可能因目標任務已經沒有 &lt;code&gt;mm&lt;/code&gt;，而繞過本應依賴的 dumpable 檢查。攻擊者可以在很窄的競態窗口中，取得正在退出的特權程序仍然開啟的檔案描述符。&lt;/p&gt;
&lt;p&gt;這也是為什麼它被稱為 &lt;code&gt;ssh-keysign-pwn&lt;/code&gt;：公開利用路徑之一會圍繞 &lt;code&gt;ssh-keysign&lt;/code&gt; 讀取 SSH host private keys。&lt;/p&gt;
&lt;h2 id=&#34;為什麼能讀到-ssh-主機私鑰和-etcshadow&#34;&gt;為什麼能讀到 SSH 主機私鑰和 /etc/shadow
&lt;/h2&gt;&lt;p&gt;這個問題本質上是本地資訊外洩。它利用的是特權程式在退出過程中「記憶體描述符已經脫離，但檔案描述符還沒關閉」的時間窗口。&lt;/p&gt;
&lt;p&gt;AlmaLinux 的公告對風險說得比較清楚：如果特權程式在降權前開啟了敏感檔案，而攻擊者在退出窗口中成功取得對應檔案描述符，就可能讀取這些敏感檔案。&lt;/p&gt;
&lt;p&gt;公開討論中常見的兩個目標是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ssh-keysign&lt;/code&gt;：可能涉及 &lt;code&gt;/etc/ssh/ssh_host_*_key&lt;/code&gt; 這類 SSH 主機私鑰。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chage&lt;/code&gt;：可能涉及 &lt;code&gt;/etc/shadow&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;SSH 主機私鑰外洩後，攻擊者可能偽裝成該主機，影響 SSH 主機身分信任。&lt;code&gt;/etc/shadow&lt;/code&gt; 外洩後，攻擊者可以離線破解密碼雜湊，進一步擴大影響。&lt;/p&gt;
&lt;p&gt;這也是為什麼它雖然不是「直接 root shell」，但仍然應按高優先級處理。&lt;/p&gt;
&lt;h2 id=&#34;影響範圍怎麼判斷&#34;&gt;影響範圍怎麼判斷
&lt;/h2&gt;&lt;p&gt;從上游角度看，這是 Linux kernel 的漏洞。NVD 記錄顯示該問題在 2026 年 5 月 15 日進入 NVD 資料集，當時 NVD 還沒有給出 CVSS 評分。&lt;/p&gt;
&lt;p&gt;發行版層面的狀態要以各自公告為準：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AlmaLinux 8、9、10 都發布了處理說明，並在 2026 年 5 月 16 日更新稱 patched kernels 已進入生產倉庫。&lt;/li&gt;
&lt;li&gt;Debian security tracker 已列出 bullseye、bookworm、trixie、sid 等分支的 vulnerable/fixed 狀態和固定版本。&lt;/li&gt;
&lt;li&gt;其他發行版需要分別查看 Ubuntu、Red Hat、SUSE、Arch、Alpine 等官方安全頁面或更新源。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不要只按核心大版本判斷是否安全。發行版會 backport 修復，同一個上游版本號在不同發行版中可能代表不同修補狀態。&lt;/p&gt;
&lt;h2 id=&#34;應該優先處理哪些機器&#34;&gt;應該優先處理哪些機器
&lt;/h2&gt;&lt;p&gt;建議按風險排序處理：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;多使用者伺服器和共享主機。&lt;/li&gt;
&lt;li&gt;有普通 shell 帳號的跳板機、教學機、開發機。&lt;/li&gt;
&lt;li&gt;CI runner、建置機、託管平台宿主機。&lt;/li&gt;
&lt;li&gt;容器宿主機和虛擬化宿主機，尤其是不完全可信 workload 共存的環境。&lt;/li&gt;
&lt;li&gt;公開服務機器，雖然漏洞需要本地存取，但一旦 Web/RCE/弱密碼帶來低權限落點，風險會疊加。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;純單使用者桌面環境風險相對低一些，但仍建議隨系統更新修復。原因很簡單：本地低權限程式碼執行在桌面上並不少見，瀏覽器、開發工具、腳本和第三方軟體都可能成為落點。&lt;/p&gt;
&lt;h2 id=&#34;修復建議&#34;&gt;修復建議
&lt;/h2&gt;&lt;p&gt;首選方案是安裝發行版提供的修復核心並重新啟動。&lt;/p&gt;
&lt;p&gt;不同發行版命令不同，原則相同：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;更新軟體源中繼資料。&lt;/li&gt;
&lt;li&gt;安裝包含 &lt;code&gt;CVE-2026-46333&lt;/code&gt; 修復的 kernel 套件。&lt;/li&gt;
&lt;li&gt;重新啟動進入新核心。&lt;/li&gt;
&lt;li&gt;用 &lt;code&gt;uname -r&lt;/code&gt; 和發行版安全公告核對目前執行中的核心是否已修復。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;AlmaLinux 公告中提到，生產倉庫已推出修復核心，使用者可以執行常規 &lt;code&gt;dnf upgrade&lt;/code&gt; 並重啟。Debian tracker 也列出了多個分支的 fixed versions。&lt;/p&gt;
&lt;p&gt;需要注意：只安裝新 kernel 套件但不重啟，舊核心仍在執行，漏洞仍然存在。&lt;/p&gt;
&lt;h2 id=&#34;臨時緩解收緊-ptrace_scope&#34;&gt;臨時緩解：收緊 ptrace_scope
&lt;/h2&gt;&lt;p&gt;如果暫時不能重啟，可以先收緊 Yama 的 &lt;code&gt;ptrace_scope&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;Qualys 在 oss-security 後續回覆中確認，將 &lt;code&gt;/proc/sys/kernel/yama/ptrace_scope&lt;/code&gt; 設定為 &lt;code&gt;2&lt;/code&gt;（admin-only attach）或 &lt;code&gt;3&lt;/code&gt;（no attach）可以阻止他們已知的公開利用路徑。但他們也說明，理論上可能存在其他利用方式，所以這只是緩解，不是修復。&lt;/p&gt;
&lt;p&gt;臨時設定可以用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo sysctl -w kernel.yama.ptrace_scope&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;持久化可以寫入 sysctl 設定：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;kernel.yama.ptrace_scope = 3&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee /etc/sysctl.d/99-ssh-keysign-pwn.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;ptrace_scope=3&lt;/code&gt; 會停用 ptrace attach，可能影響 &lt;code&gt;gdb&lt;/code&gt;、&lt;code&gt;strace -p&lt;/code&gt; 等除錯場景。如果生產環境需要除錯，可以評估使用 &lt;code&gt;2&lt;/code&gt;。無論選哪一個，都應盡快安排核心升級和重啟。&lt;/p&gt;
&lt;h2 id=&#34;是否需要輪換-ssh-主機金鑰&#34;&gt;是否需要輪換 SSH 主機金鑰
&lt;/h2&gt;&lt;p&gt;如果機器在漏洞公開前後存在以下情況，建議保守處理：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有不可信本地使用者。&lt;/li&gt;
&lt;li&gt;有共享主機或容器/CI 多租戶環境。&lt;/li&gt;
&lt;li&gt;有 Web 漏洞、弱密碼、供應鏈腳本等可能給攻擊者本地落點。&lt;/li&gt;
&lt;li&gt;日誌中出現可疑本地程序、異常除錯行為或公開 PoC 檔案。&lt;/li&gt;
&lt;li&gt;機器在修復前暴露了較長時間。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;保守處置包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;修復並重啟後輪換 SSH host keys。&lt;/li&gt;
&lt;li&gt;更新已知主機指紋管理系統。&lt;/li&gt;
&lt;li&gt;通知依賴該主機指紋的自動化系統。&lt;/li&gt;
&lt;li&gt;檢查 SSH 連線告警，避免誤把合法指紋變化當成中間人攻擊，或反過來忽略真實風險。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果懷疑 &lt;code&gt;/etc/shadow&lt;/code&gt; 已外洩，還應評估密碼重設、禁止弱密碼、檢查是否存在可離線破解的舊雜湊。&lt;/p&gt;
&lt;h2 id=&#34;需要監控什麼&#34;&gt;需要監控什麼
&lt;/h2&gt;&lt;p&gt;這類漏洞利用窗口很短，傳統日誌未必能完整記錄。但仍可以關注：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;普通使用者目錄下是否出現 &lt;code&gt;ssh-keysign-pwn&lt;/code&gt;、&lt;code&gt;chage_pwn&lt;/code&gt; 或類似 PoC 檔案。&lt;/li&gt;
&lt;li&gt;可疑編譯行為，例如短時間內編譯陌生 C 程式。&lt;/li&gt;
&lt;li&gt;異常存取 &lt;code&gt;/etc/ssh/ssh_host_*_key&lt;/code&gt;、&lt;code&gt;/etc/shadow&lt;/code&gt; 的跡象。&lt;/li&gt;
&lt;li&gt;異常 &lt;code&gt;pidfd_getfd&lt;/code&gt;、&lt;code&gt;ptrace&lt;/code&gt;、除錯器相關行為。&lt;/li&gt;
&lt;li&gt;SSH 主機指紋被外部系統回報異常。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這些訊號不能證明一定被利用，也不能證明沒有被利用。真正的優先事項仍然是補丁、重啟、憑證輪換和風險隔離。&lt;/p&gt;
&lt;h2 id=&#34;常見誤區&#34;&gt;常見誤區
&lt;/h2&gt;&lt;p&gt;第一個誤區：它不是 OpenSSH 遠端漏洞。名字裡有 &lt;code&gt;ssh-keysign&lt;/code&gt;，但根因在 Linux kernel 的 &lt;code&gt;ptrace&lt;/code&gt; 存取檢查邏輯，不是 &lt;code&gt;sshd&lt;/code&gt; 遠端認證流程。&lt;/p&gt;
&lt;p&gt;第二個誤區：沒有本地使用者就完全沒風險。漏洞確實需要本地執行條件，但很多真實攻擊鏈會先透過 Web 服務、CI、腳本、弱密碼或容器逃逸前置步驟取得低權限本地落點。&lt;/p&gt;
&lt;p&gt;第三個誤區：設定 &lt;code&gt;ptrace_scope&lt;/code&gt; 就夠了。它是臨時緩解，不是根本修復。核心更新和重啟仍然需要做。&lt;/p&gt;
&lt;p&gt;第四個誤區：只要沒被拿 root 就沒事。SSH 主機私鑰和 &lt;code&gt;/etc/shadow&lt;/code&gt; 的外洩本身就足以導致後續橫向移動、主機偽裝和離線破解風險。&lt;/p&gt;
&lt;h2 id=&#34;處置清單&#34;&gt;處置清單
&lt;/h2&gt;&lt;p&gt;建議按這個順序執行：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;盤點受影響 Linux 主機，特別是多使用者和共享環境。&lt;/li&gt;
&lt;li&gt;查看發行版官方安全公告，確認 fixed kernel 版本。&lt;/li&gt;
&lt;li&gt;安裝修復核心並重啟。&lt;/li&gt;
&lt;li&gt;暫時不能重啟的機器，先設定 &lt;code&gt;kernel.yama.ptrace_scope=2&lt;/code&gt; 或 &lt;code&gt;3&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;修復後核對正在執行的核心版本。&lt;/li&gt;
&lt;li&gt;對高風險機器輪換 SSH host keys。&lt;/li&gt;
&lt;li&gt;如果懷疑 &lt;code&gt;/etc/shadow&lt;/code&gt; 外洩，評估密碼重設和帳號稽核。&lt;/li&gt;
&lt;li&gt;檢查是否存在公開 PoC、異常編譯和可疑本地除錯行為。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;總結&#34;&gt;總結
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ssh-keysign-pwn&lt;/code&gt;（&lt;code&gt;CVE-2026-46333&lt;/code&gt;）是一個本地資訊外洩漏洞，根因在 Linux kernel &lt;code&gt;__ptrace_may_access()&lt;/code&gt; 相關邏輯。它不需要遠端直接打進來，也不直接給 root shell，但可以讓低權限本地使用者讀取高價值敏感檔案，這使它在多使用者、共享主機、CI 和容器宿主環境中非常值得警惕。&lt;/p&gt;
&lt;p&gt;最可靠的修復是升級到發行版提供的修復核心並重啟。&lt;code&gt;ptrace_scope=2/3&lt;/code&gt; 可以作為臨時緩解，但不能替代補丁。已經暴露在風險窗口中的關鍵主機，還應考慮 SSH 主機金鑰輪換和密碼風險評估。&lt;/p&gt;
&lt;p&gt;參考連結：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.openwall.com/lists/oss-security/2026/05/15/2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;oss-security：Qualys 關於 __ptrace_may_access() 邏輯問題的披露&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.openwall.com/lists/oss-security/2026/05/15/9&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;oss-security：Qualys 確認 CVE-2026-46333 編號&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.openwall.com/lists/oss-security/2026/05/15/8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;oss-security：Qualys 確認 ptrace_scope 臨時緩解&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2026-46333&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVD：CVE-2026-46333&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://security-tracker.debian.org/tracker/CVE-2026-46333&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Debian Security Tracker：CVE-2026-46333&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://almalinux.org/he/blog/2026-05-15-ssh-keysign-pwn-cve-2026-46333/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AlmaLinux：ssh-keysign-pwn (CVE-2026-46333) Patches Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/torvalds/linux/commit/31e62c2ebbfdc3fe3dbdf5e02c92a9dc67087a3a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Linux upstream fix：ptrace get_dumpable() logic&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>CVE-2026-42945 怎麼排查？Nginx Rift 漏洞觸發條件、版本檢查與升級建議</title>
        <link>https://knightli.com/zh-tw/2026/05/15/nginx-rift-cve-2026-42945/</link>
        <pubDate>Fri, 15 May 2026 17:55:42 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/15/nginx-rift-cve-2026-42945/</guid>
        <description>&lt;p&gt;&lt;code&gt;CVE-2026-42945&lt;/code&gt; 是 NGINX Open Source 和 NGINX Plus 中的一個安全漏洞，外界也把它稱為 &lt;code&gt;Nginx Rift&lt;/code&gt;。它出現在 &lt;code&gt;ngx_http_rewrite_module&lt;/code&gt;，漏洞類型是 heap-based buffer overflow。&lt;/p&gt;
&lt;p&gt;這類新聞很容易被寫成「潛伏 18 年」「不用密碼遠端控制」「三成伺服器中招」。這些說法有傳播性，但看補丁和 NVD 描述時，最好把風險拆開看：它確實嚴重，也確實不需要登入帳號；但並不是所有 Nginx 實例都會自動被接管，觸發需要特定 rewrite 設定和請求條件。&lt;/p&gt;
&lt;h2 id=&#34;先看官方描述&#34;&gt;先看官方描述
&lt;/h2&gt;&lt;p&gt;NVD 對 &lt;code&gt;CVE-2026-42945&lt;/code&gt; 的描述可以概括為：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;影響 NGINX Plus 和 NGINX Open Source。&lt;/li&gt;
&lt;li&gt;漏洞位於 &lt;code&gt;ngx_http_rewrite_module&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;當 &lt;code&gt;rewrite&lt;/code&gt; 指令後面跟著 &lt;code&gt;rewrite&lt;/code&gt;、&lt;code&gt;if&lt;/code&gt; 或 &lt;code&gt;set&lt;/code&gt; 指令，並且使用未命名的 PCRE 捕獲組，例如 &lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt;，同時替換字串裡包含問號 &lt;code&gt;?&lt;/code&gt; 時，可能觸發問題。&lt;/li&gt;
&lt;li&gt;未認證攻擊者可以傳送構造請求觸發漏洞。&lt;/li&gt;
&lt;li&gt;結果可能是 NGINX worker 程序發生 heap buffer overflow 並重啟。&lt;/li&gt;
&lt;li&gt;如果系統關閉了 ASLR，存在程式碼執行可能。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;F5 作為 CNA 給出的評分是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CVSS v4.0：&lt;code&gt;9.2&lt;/code&gt;，Critical。&lt;/li&gt;
&lt;li&gt;CVSS v3.1：&lt;code&gt;8.1&lt;/code&gt;，High。&lt;/li&gt;
&lt;li&gt;CWE：&lt;code&gt;CWE-122 Heap-based Buffer Overflow&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以，這不是普通的「設定寫錯導致 404」問題，而是 Nginx 官方安全修復範圍內的記憶體安全漏洞。&lt;/p&gt;
&lt;h2 id=&#34;哪些說法需要降溫&#34;&gt;哪些說法需要降溫
&lt;/h2&gt;&lt;p&gt;第一，「不用密碼」基本可以理解為未認證攻擊。也就是說，攻擊者不需要登入 Nginx 後台，不需要拿到 SSH，也不需要應用系統帳號。但這不等於任何公網 Nginx 都能被隨手接管。&lt;/p&gt;
&lt;p&gt;第二，「直接遠端控制」要看條件。官方描述裡更穩妥的說法是：漏洞可導致 worker 程序重啟；在 ASLR 關閉的系統上，程式碼執行是可能結果。對啟用了 ASLR、發行版編譯加固完整、執行權限受限的環境，風險路徑會更複雜。&lt;/p&gt;
&lt;p&gt;第三，「30% 伺服器中招」不能簡單等同於「所有 Nginx 市占率都是漏洞暴露面」。真正暴露要同時看版本、是否啟用受影響模組、是否存在特定 rewrite 設定、發行版是否已經回補補丁，以及 Nginx 執行環境的加固狀態。&lt;/p&gt;
&lt;p&gt;更準確的判斷方式是：只要你在生產環境執行 Nginx，就應該盡快檢查；但不要只按標題裡的比例判斷自己是否中招。&lt;/p&gt;
&lt;h2 id=&#34;受影響範圍怎麼判斷&#34;&gt;受影響範圍怎麼判斷
&lt;/h2&gt;&lt;p&gt;從 nginx.org 發布資訊看，2026 年 5 月 13 日發布的 &lt;code&gt;nginx-1.30.1&lt;/code&gt; stable 和 &lt;code&gt;nginx-1.31.0&lt;/code&gt; mainline 包含多項安全修復，其中包括 &lt;code&gt;ngx_http_rewrite_module&lt;/code&gt; 的 buffer overflow，也就是 &lt;code&gt;CVE-2026-42945&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;如果你使用官方 Nginx 原始碼或官方套件，可以優先關注：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NGINX Open Source stable：升級到 &lt;code&gt;1.30.1&lt;/code&gt; 或之後版本。&lt;/li&gt;
&lt;li&gt;NGINX Open Source mainline：升級到 &lt;code&gt;1.31.0&lt;/code&gt; 或之後版本。&lt;/li&gt;
&lt;li&gt;NGINX Plus：查看 F5 對應分支的修復版本。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你使用 Debian、Ubuntu、RHEL、AlmaLinux、Rocky Linux、Alpine、容器映像、Plesk、控制面板、Ingress Controller 或雲廠商託管元件，不要只看 &lt;code&gt;nginx -v&lt;/code&gt; 裡的上游版本號。很多發行版會把安全補丁 backport 到舊版本套件裡，版本號看起來舊，但補丁可能已經合入。&lt;/p&gt;
&lt;h2 id=&#34;一分鐘判斷是否需要緊急處理&#34;&gt;一分鐘判斷是否需要緊急處理
&lt;/h2&gt;&lt;p&gt;可以先按下面幾個問題快速分級：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;這台 Nginx 是否直接暴露在公網，或者位於 API Gateway、反向代理、負載均衡、Ingress 入口層？&lt;/li&gt;
&lt;li&gt;是否使用官方 Nginx 套件、原始碼編譯套件、第三方面板、容器映像，且還沒有確認 &lt;code&gt;CVE-2026-42945&lt;/code&gt; 修復狀態？&lt;/li&gt;
&lt;li&gt;設定裡是否存在複雜 &lt;code&gt;rewrite&lt;/code&gt; 規則，尤其是連續 &lt;code&gt;rewrite&lt;/code&gt;、&lt;code&gt;if&lt;/code&gt;、&lt;code&gt;set&lt;/code&gt;，以及 &lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt; 這類未命名捕獲組？&lt;/li&gt;
&lt;li&gt;是否存在把請求路徑、查詢參數或使用者可控輸入帶入 rewrite 目標的場景？&lt;/li&gt;
&lt;li&gt;系統加固是否較弱，例如 ASLR 被關閉、worker 權限過高、容器權限過寬？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果前兩項命中，並且 rewrite 設定還沒有排查，建議按高優先級處理。公網入口、共享環境、Kubernetes Ingress、邊緣代理和承載登入/API 流量的 Nginx，應該優先升級或替換到確認修復的套件。&lt;/p&gt;
&lt;h2 id=&#34;debian--ubuntu--rhel--alpine-如何確認修復&#34;&gt;Debian / Ubuntu / RHEL / Alpine 如何確認修復
&lt;/h2&gt;&lt;p&gt;發行版使用者不要只看 &lt;code&gt;nginx -v&lt;/code&gt;。Debian、Ubuntu、RHEL、AlmaLinux、Rocky Linux、Alpine 這類系統經常把安全補丁回補到穩定分支，表面版本號可能仍然低於 nginx.org 的 &lt;code&gt;1.30.1&lt;/code&gt; 或 &lt;code&gt;1.31.0&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;Debian / Ubuntu 可以優先看安全公告、套件 changelog 和可升級列表：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx -V
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt list --upgradable &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt changelog nginx &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i &lt;span class=&#34;s2&#34;&gt;&amp;#34;CVE-2026-42945&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;RHEL / AlmaLinux / Rocky Linux 可以看安全更新和套件變更記錄：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yum updateinfo list security &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rpm -q --changelog nginx &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i &lt;span class=&#34;s2&#34;&gt;&amp;#34;CVE-2026-42945&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Alpine 可以檢查目前套件版本和安全分支更新：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk info -v nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk version -v nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果套件管理器、發行版安全公告或廠商 advisory 明確寫明已修復 &lt;code&gt;CVE-2026-42945&lt;/code&gt;，即使上游版本號看起來不新，也可以按「已回補修復」處理。反過來，如果只是版本號較高但來源不明，仍然要確認建置日期和補丁來源。&lt;/p&gt;
&lt;h2 id=&#34;容器映像與-ingress-controller-怎麼查&#34;&gt;容器映像與 Ingress Controller 怎麼查
&lt;/h2&gt;&lt;p&gt;容器環境要檢查映像裡的 Nginx，而不是只看宿主機。先確認映像實際內建版本：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --rm your-nginx-image nginx -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --rm your-nginx-image nginx -V
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;還要看基礎映像是否更新過。如果映像基於 Debian、Ubuntu、Alpine 或發行版套件建置，判斷方式應回到對應發行版的安全公告和套件 changelog。只重啟舊映像沒有意義，映像本身需要重新建置或替換。&lt;/p&gt;
&lt;p&gt;Kubernetes Ingress 需要同時確認三件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ingress Controller 專案是否發布了針對 &lt;code&gt;CVE-2026-42945&lt;/code&gt; 的 advisory 或修復版本。&lt;/li&gt;
&lt;li&gt;目前叢集執行的 controller 映像 digest 是否已經更新，而不是只改了 tag。&lt;/li&gt;
&lt;li&gt;controller 內建 Nginx 版本、建置參數和模板設定是否仍然包含高風險 rewrite 規則。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;可以先看執行中的映像：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx get pods -o wide
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx describe pod &amp;lt;pod-name&amp;gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i image
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果使用雲廠商託管 Ingress 或網關，還要查對應雲服務公告。託管元件通常不是使用者自己 &lt;code&gt;apt upgrade&lt;/code&gt; 能解決的，需要等待廠商修復或切換到已修復版本。&lt;/p&gt;
&lt;h2 id=&#34;rewrite-設定重點排查哪些寫法&#34;&gt;rewrite 設定重點排查哪些寫法
&lt;/h2&gt;&lt;p&gt;這個漏洞和 &lt;code&gt;rewrite&lt;/code&gt; 設定有關，排查時可以先搜尋 Nginx 設定：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grep -R &lt;span class=&#34;s2&#34;&gt;&amp;#34;rewrite&amp;#34;&lt;/span&gt; /etc/nginx -n
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grep -R &lt;span class=&#34;s2&#34;&gt;&amp;#34;\\&lt;/span&gt;$&lt;span class=&#34;s2&#34;&gt;[0-9]&amp;#34;&lt;/span&gt; /etc/nginx -n
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;重點關注類似模式：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;rewrite&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;^/old/(.*)&lt;/span&gt;$ &lt;span class=&#34;s&#34;&gt;/new/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$1?&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;permanent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;這裡的 &lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt; 這類未命名捕獲組，以及替換目標中的 &lt;code&gt;?&lt;/code&gt;，是官方描述裡的關鍵條件之一。排查時尤其關注下面幾類寫法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一個 &lt;code&gt;rewrite&lt;/code&gt; 後面緊跟另一個 &lt;code&gt;rewrite&lt;/code&gt;、&lt;code&gt;if&lt;/code&gt; 或 &lt;code&gt;set&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;正則裡使用 &lt;code&gt;(.*)&lt;/code&gt;、&lt;code&gt;(.+)&lt;/code&gt; 這類寬泛捕獲，並在目標裡用 &lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;rewrite 目標裡帶 &lt;code&gt;?&lt;/code&gt;，用於拼接或丟棄查詢參數。&lt;/li&gt;
&lt;li&gt;rewrite 輸入來自公網路徑、Host、URI、參數或上游可控值。&lt;/li&gt;
&lt;li&gt;面板、網關、Ingress 註解或模板自動生成的 rewrite 規則。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果短時間內無法升級，可以先做臨時緩解：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;減少複雜 rewrite 規則。&lt;/li&gt;
&lt;li&gt;把未命名捕獲組改成更清晰的命名捕獲。&lt;/li&gt;
&lt;li&gt;避免在替換字串裡拼接不必要的 &lt;code&gt;?&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;對高風險入口加 WAF 或反向代理規則。&lt;/li&gt;
&lt;li&gt;確認系統啟用了 ASLR。&lt;/li&gt;
&lt;li&gt;降低 Nginx worker 執行權限，確認 systemd sandbox、SELinux/AppArmor 等加固狀態。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這些只是緩解，不是替代補丁。&lt;/p&gt;
&lt;h2 id=&#34;修復優先級&#34;&gt;修復優先級
&lt;/h2&gt;&lt;p&gt;建議按暴露面排序：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;公網入口 Nginx。&lt;/li&gt;
&lt;li&gt;反向代理、API Gateway、邊緣網關。&lt;/li&gt;
&lt;li&gt;多租戶環境裡的 Nginx。&lt;/li&gt;
&lt;li&gt;Kubernetes Ingress Controller。&lt;/li&gt;
&lt;li&gt;Plesk、面板工具、雲市場映像等自帶 Nginx 的元件。&lt;/li&gt;
&lt;li&gt;內網但承載關鍵業務的 Nginx。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;升級後如何驗證nginx--treloadworker-狀態&#34;&gt;升級後如何驗證：nginx -t、reload、worker 狀態
&lt;/h2&gt;&lt;p&gt;更新後不要只看套件管理器提示成功，還要確認設定、程序和實際二進位都已經切換。先驗證設定：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx -t
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;確認沒有錯誤後再平滑載入：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl reload nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果套件升級涉及二進位替換，建議確認舊 worker 已退出：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ps aux &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;也可以查看主程序啟動時間和二進位路徑，確認執行中的服務不是舊程序繼續駐留。必要時安排維護窗口重啟服務，避免舊 worker 或舊容器繼續處理請求。&lt;/p&gt;
&lt;p&gt;容器和 Ingress 環境還要確認新映像已經真正滾動完成：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx rollout status deployment/&amp;lt;deployment-name&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx get pods -o wide
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;驗證重點不是「命令執行過」，而是「線上流量已經由包含修復的 Nginx 程序承載」。&lt;/p&gt;
&lt;h2 id=&#34;不要忽略同批次-nginx-修復&#34;&gt;不要忽略同批次 Nginx 修復
&lt;/h2&gt;&lt;p&gt;nginx.org 在同一天發布的 &lt;code&gt;1.30.1&lt;/code&gt; 和 &lt;code&gt;1.31.0&lt;/code&gt; 不只修復了 &lt;code&gt;CVE-2026-42945&lt;/code&gt;。發布資訊還提到 HTTP/2 request injection、SCGI/uWSGI buffer overread、charset module buffer overread、HTTP/3 address spoofing、OCSP resolver use-after-free 等問題。&lt;/p&gt;
&lt;p&gt;這意味著生產環境不應該只針對單個 CVE 做臨時規則，而是應該把 Nginx 這一輪安全更新當成一次整體升級來處理。&lt;/p&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CVE-2026-42945&lt;/code&gt; 的關鍵點不是「所有 Nginx 都會被秒控」，而是：一個長期存在於 rewrite 模組裡的記憶體安全漏洞，在特定設定下可被未認證請求觸發，最直接後果是 worker 崩潰重啟；在 ASLR 關閉等較弱環境下，程式碼執行風險更高。&lt;/p&gt;
&lt;p&gt;對維運來說，處理順序很簡單：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;確認 Nginx 來源和版本。&lt;/li&gt;
&lt;li&gt;查看發行版、F5、nginx.org 或雲廠商公告。&lt;/li&gt;
&lt;li&gt;盡快升級到包含修復的版本或發行版安全套件。&lt;/li&gt;
&lt;li&gt;排查複雜 rewrite 設定，尤其是 &lt;code&gt;$1&lt;/code&gt;、&lt;code&gt;$2&lt;/code&gt; 和 &lt;code&gt;?&lt;/code&gt; 組合。&lt;/li&gt;
&lt;li&gt;確認 ASLR、權限隔離和服務重載狀態。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;標題可以嚇人，修復要冷靜。先確認暴露面，再升級，再回頭清理高風險 rewrite 規則。&lt;/p&gt;
&lt;h2 id=&#34;參考連結&#34;&gt;參考連結
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2026-42945&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVD: CVE-2026-42945&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nginx.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nginx.org 發布資訊&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://my.f5.com/manage/s/article/K000161019&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;F5 Security Advisory K000161019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://depthfirst.com/nginx-rift&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DepthFirst: Nginx Rift&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Dirty Frag、Copy Fail 與 Fragnesia：近期三個 Linux 本地提權漏洞對比</title>
        <link>https://knightli.com/zh-tw/2026/05/15/linux-lpe-dirty-frag-copy-fail-fragnesia-analysis/</link>
        <pubDate>Fri, 15 May 2026 13:24:04 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/15/linux-lpe-dirty-frag-copy-fail-fragnesia-analysis/</guid>
        <description>&lt;p&gt;最近 Linux 核心連續出現幾個高關注度的本地提權漏洞：Dirty Frag、Copy Fail 和 Fragnesia。它們看起來像一組「同類事件」，因為最終效果都很接近：低權限本地使用者可能把權限提升到 root。&lt;/p&gt;
&lt;p&gt;但從維運處置角度看，不能把它們混成一個漏洞。三者的入口模組、觸發路徑、緩解方式和補丁節奏都不同。更準確的理解是：它們暴露了 Linux 核心在「頁面快取、splice、socket buffer、加密路徑」這些複雜交界處的共同風險。&lt;/p&gt;
&lt;p&gt;本文只做風險和處置分析，不展開可復現利用步驟。&lt;/p&gt;
&lt;h2 id=&#34;三個漏洞分別是什麼&#34;&gt;三個漏洞分別是什麼
&lt;/h2&gt;&lt;h3 id=&#34;dirty-fragcve-2026-43284&#34;&gt;Dirty Frag：CVE-2026-43284
&lt;/h3&gt;&lt;p&gt;Dirty Frag 主要指向 Linux 核心網路路徑裡的頁面快取寫入問題。公開資料中，它通常和兩個問題一起討論：&lt;code&gt;xfrm-ESP&lt;/code&gt; 側的 CVE-2026-43284，以及 &lt;code&gt;rxrpc&lt;/code&gt; 側的 CVE-2026-43500。&lt;/p&gt;
&lt;p&gt;其中 CVE-2026-43284 與 ESP 處理共享 &lt;code&gt;skb&lt;/code&gt; fragment 時的原地解密有關。問題的關鍵不是攻擊者直接修改磁碟檔案，而是讓核心在不該寫的共享頁面上發生寫入，進而影響頁面快取裡的檔案內容。&lt;/p&gt;
&lt;p&gt;維運上最需要記住的是：Dirty Frag 觸達的是 &lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt; 這一組核心模組和網路子系統路徑。它和 IPsec、ESP、RxRPC 相關，臨時緩解也會圍繞這些模組展開。&lt;/p&gt;
&lt;h3 id=&#34;copy-failcve-2026-31431&#34;&gt;Copy Fail：CVE-2026-31431
&lt;/h3&gt;&lt;p&gt;Copy Fail 是 Theori / Xint Code 披露的 Linux 核心本地提權漏洞。它的入口不在 IPsec 網路路徑，而在核心使用者態加密 API 的 &lt;code&gt;algif_aead&lt;/code&gt; / &lt;code&gt;AF_ALG&lt;/code&gt; 相關路徑。&lt;/p&gt;
&lt;p&gt;公開說明中提到，它源於 2017 年引入的一處原地最佳化：某些情況下，核心沒有按預期複製資料，而是把頁面快取頁放進可寫目標路徑裡。攻擊者可以借助 &lt;code&gt;AF_ALG&lt;/code&gt; 與 &lt;code&gt;splice()&lt;/code&gt; 組合，對頁面快取支援的頁面做小範圍可控寫入。&lt;/p&gt;
&lt;p&gt;它的風險點在於可利用性很強，而且影響面跨多個主流發行版。和 Dirty Frag 不同，Copy Fail 的臨時緩解重點是限制或禁用 &lt;code&gt;algif_aead&lt;/code&gt;，以及在容器和 CI 環境中限制 &lt;code&gt;AF_ALG&lt;/code&gt; socket。&lt;/p&gt;
&lt;h3 id=&#34;fragnesiacve-2026-46300&#34;&gt;Fragnesia：CVE-2026-46300
&lt;/h3&gt;&lt;p&gt;Fragnesia 是 V12 Security 披露的另一個 Linux 核心本地提權漏洞，和 Dirty Frag 屬於相近攻擊面。它不是 Dirty Frag 的同一個 bug，但仍然圍繞 IPsec ESP / &lt;code&gt;rxrpc&lt;/code&gt; 相關模組，以及頁面快取寫入效果展開。&lt;/p&gt;
&lt;p&gt;AlmaLinux 的說明把它定位為同一程式碼區域裡的第三個本地 root 問題。其關鍵點在於 &lt;code&gt;skb_try_coalesce()&lt;/code&gt; 在合併 socket buffer 片段時沒有正確保留共享 fragment 標記，導致後續 XFRM ESP-in-TCP 接收路徑可能在外部頁面快取頁上做原地解密。&lt;/p&gt;
&lt;p&gt;也就是說，Fragnesia 和 Dirty Frag 更接近：兩者都繞著 &lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt;、&lt;code&gt;skb&lt;/code&gt; fragment、ESP 解密路徑轉。它們的臨時緩解也高度重疊。&lt;/p&gt;
&lt;h2 id=&#34;相同點為什麼都危險&#34;&gt;相同點：為什麼都危險
&lt;/h2&gt;&lt;p&gt;這三個漏洞的共同點不是「程式碼位置完全一樣」，而是攻擊結果和風險模型非常像。&lt;/p&gt;
&lt;p&gt;第一，它們都是本地提權。攻擊者通常需要先在機器上取得普通使用者程式碼執行能力，然後再把權限提升到 root。對單使用者桌面來說，它不是遠端一鍵入侵；但對多使用者伺服器、CI runner、容器宿主機、共享開發機和暴露 SSH 的 VPS 來說，低權限入口並不罕見。&lt;/p&gt;
&lt;p&gt;第二，它們都和頁面快取寫入有關。攻擊者不一定永久改寫磁碟檔案，而是影響記憶體中的頁面快取副本。這會讓傳統檔案完整性檢查變得不夠可靠：磁碟 hash 可能正常，但執行路徑讀到的頁面快取內容已經被污染。&lt;/p&gt;
&lt;p&gt;第三，它們都偏向確定性邏輯漏洞，而不是傳統意義上很吃時序的競爭條件。公開資料多次強調這類漏洞不依賴贏得 race condition。對防守方來說，這意味著「利用成功率」不能按老經驗低估。&lt;/p&gt;
&lt;p&gt;第四，它們都放大了容器和自動化執行環境的風險。容器內的低權限程式碼、CI 任務、建置腳本、第三方外掛，一旦能觸達宿主核心相關介面，就可能把漏洞從「本地問題」變成「平台問題」。&lt;/p&gt;
&lt;h2 id=&#34;不同點不要用一個補丁思路套全部&#34;&gt;不同點：不要用一個補丁思路套全部
&lt;/h2&gt;&lt;p&gt;三者最大的區別在入口模組。&lt;/p&gt;
&lt;p&gt;Copy Fail 的關鍵入口是 &lt;code&gt;algif_aead&lt;/code&gt; / &lt;code&gt;AF_ALG&lt;/code&gt;，屬於核心使用者態加密 API。它的臨時防護重點是禁用或限制 &lt;code&gt;algif_aead&lt;/code&gt;，以及用 seccomp 阻斷容器裡建立 &lt;code&gt;AF_ALG&lt;/code&gt; socket。&lt;/p&gt;
&lt;p&gt;Dirty Frag 的關鍵入口在 &lt;code&gt;xfrm-ESP&lt;/code&gt; 和 &lt;code&gt;rxrpc&lt;/code&gt;。它更接近網路協定和 socket buffer 處理路徑，臨時防護通常會考慮禁用 &lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt;。但這可能影響 IPsec、VPN、隧道或相關網路能力。&lt;/p&gt;
&lt;p&gt;Fragnesia 的入口也在 Dirty Frag 相近區域，但具體問題落在 &lt;code&gt;skb_try_coalesce()&lt;/code&gt; 沒有保留共享 fragment 標記。它更像是 Dirty Frag 風險面裡的另一個分支，而不是 Copy Fail 的加密 API 問題。&lt;/p&gt;
&lt;p&gt;所以，不能因為已經處理了 Copy Fail，就認為 Dirty Frag 和 Fragnesia 也被覆蓋；也不能因為禁用了 &lt;code&gt;esp4&lt;/code&gt; / &lt;code&gt;esp6&lt;/code&gt;，就認為 Copy Fail 自動消失。它們需要分別確認補丁狀態和緩解策略。&lt;/p&gt;
&lt;h2 id=&#34;影響範圍該怎麼判斷&#34;&gt;影響範圍該怎麼判斷
&lt;/h2&gt;&lt;p&gt;判斷這類漏洞是否受影響，不要只看發行版名字，也不要只看核心大版本號。發行版會回合補丁，雲廠商會維護自己的核心分支，企業發行版還可能有額外 backport。&lt;/p&gt;
&lt;p&gt;更穩妥的順序是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先看發行版安全公告和核心套件 changelog。&lt;/li&gt;
&lt;li&gt;再核對 CVE 是否已被目前核心套件修復。&lt;/li&gt;
&lt;li&gt;對雲主機、容器宿主機和 CI 節點，額外關注雲廠商或平台方公告。&lt;/li&gt;
&lt;li&gt;對臨時緩解，確認業務是否依賴對應模組。&lt;/li&gt;
&lt;li&gt;完成核心升級後安排重啟，確保實際執行核心已經切換。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;這一步最容易踩坑的是「套件已經更新，但機器還沒重啟」。核心漏洞不是普通使用者態服務升級，安裝新套件之後，舊核心仍可能繼續執行。&lt;/p&gt;
&lt;h2 id=&#34;維運優先級&#34;&gt;維運優先級
&lt;/h2&gt;&lt;p&gt;這些漏洞最該優先處理的機器，不是「所有 Linux 平均排隊」，而是低權限程式碼最容易出現的地方。&lt;/p&gt;
&lt;p&gt;優先級最高的環境包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;多使用者登入伺服器&lt;/li&gt;
&lt;li&gt;CI / CD runner&lt;/li&gt;
&lt;li&gt;建置機和製品打包機&lt;/li&gt;
&lt;li&gt;容器宿主機和 Kubernetes 節點&lt;/li&gt;
&lt;li&gt;共享開發機&lt;/li&gt;
&lt;li&gt;暴露 SSH 的雲主機和 VPS&lt;/li&gt;
&lt;li&gt;執行第三方腳本、外掛、任務佇列的平台&lt;/li&gt;
&lt;li&gt;有 Web 漏洞、弱密碼或歷史入侵痕跡的機器&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;相對封閉、單使用者、沒有外部程式碼執行入口的機器，風險仍然存在，但處置順序可以排在後面。&lt;/p&gt;
&lt;h2 id=&#34;臨時緩解應該怎麼理解&#34;&gt;臨時緩解應該怎麼理解
&lt;/h2&gt;&lt;p&gt;臨時緩解不是補丁替代品。它的價值是幫你在無法立刻重啟或等待發行版補丁時降低暴露面。&lt;/p&gt;
&lt;p&gt;對 Copy Fail，重點關注 &lt;code&gt;algif_aead&lt;/code&gt; 和 &lt;code&gt;AF_ALG&lt;/code&gt;。如果業務沒有使用核心 AF_ALG 加密介面，可以評估禁用相關模組；容器環境則應優先檢查 seccomp 策略，避免不受信任工作負載隨意建立對應 socket。&lt;/p&gt;
&lt;p&gt;對 Dirty Frag 和 Fragnesia，重點關注 &lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt;。如果系統不依賴 IPsec ESP、相關 VPN、隧道或 RxRPC，可以評估臨時禁用。但生產環境不要盲目執行，因為這些模組可能影響真實網路業務。&lt;/p&gt;
&lt;p&gt;最終仍然要回到核心更新。臨時緩解只能減少攻擊面，不能證明系統已經徹底安全。&lt;/p&gt;
&lt;h2 id=&#34;這三個漏洞說明了什麼&#34;&gt;這三個漏洞說明了什麼
&lt;/h2&gt;&lt;p&gt;這組漏洞真正值得警惕的地方，不只是 CVE 數量，而是它們都集中在核心高複雜度路徑：零拷貝、splice、socket buffer、頁面快取、加密介面、協定堆疊最佳化。&lt;/p&gt;
&lt;p&gt;這些路徑的共同特點是效能收益很大，但所有權邊界也更難維護。一個 fragment 是否共享、一個頁面是否還能原地寫、一個最佳化是否真的只是減少複製，都會變成安全邊界的一部分。&lt;/p&gt;
&lt;p&gt;對安全團隊和維運團隊來說，結論很實際：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;本地提權漏洞要按「已有低權限入口會被放大」處理。&lt;/li&gt;
&lt;li&gt;容器不是核心漏洞的天然隔離邊界。&lt;/li&gt;
&lt;li&gt;檔案完整性檢查不能只看磁碟內容。&lt;/li&gt;
&lt;li&gt;CI、建置機、外掛平台要當成高優先級資產。&lt;/li&gt;
&lt;li&gt;核心補丁需要驗證「已安裝」和「已執行」兩個狀態。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;Dirty Frag、Copy Fail 和 Fragnesia 都是近期 Linux 本地提權風險裡的高優先級事件，但它們不是同一個漏洞的三個名字。&lt;/p&gt;
&lt;p&gt;Copy Fail 走的是 &lt;code&gt;algif_aead&lt;/code&gt; / &lt;code&gt;AF_ALG&lt;/code&gt; 加密介面路徑；Dirty Frag 走的是 &lt;code&gt;xfrm-ESP&lt;/code&gt; 與 &lt;code&gt;rxrpc&lt;/code&gt; 相關路徑；Fragnesia 則在 Dirty Frag 相近攻擊面上，透過 &lt;code&gt;skb&lt;/code&gt; fragment 標記處理問題再次觸發頁面快取寫入風險。&lt;/p&gt;
&lt;p&gt;處置上，最穩妥的做法是：按發行版公告升級核心並重啟；對無法立即升級的系統，分別按漏洞入口評估臨時禁用模組或收緊 seccomp；對多租戶、CI、容器宿主機和共享開發環境優先處理。&lt;/p&gt;
&lt;p&gt;參考資料：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Theori Copy Fail 說明：&lt;a class=&#34;link&#34; href=&#34;https://github.com/theori-io/copy-fail-CVE-2026-31431&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/theori-io/copy-fail-CVE-2026-31431&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CERT-EU Copy Fail 安全公告：&lt;a class=&#34;link&#34; href=&#34;https://cert.europa.eu/publications/security-advisories/2026-005/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://cert.europa.eu/publications/security-advisories/2026-005/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;AlmaLinux Dirty Frag 說明：&lt;a class=&#34;link&#34; href=&#34;https://almalinux.org/blog/2026-05-07-dirty-frag/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://almalinux.org/blog/2026-05-07-dirty-frag/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;AlmaLinux Fragnesia 說明：&lt;a class=&#34;link&#34; href=&#34;https://almalinux.org/blog/2026-05-13-fragnesia-cve-2026-46300/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://almalinux.org/blog/2026-05-13-fragnesia-cve-2026-46300/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;V12 Security Fragnesia PoC 說明：&lt;a class=&#34;link&#34; href=&#34;https://github.com/v12-security/pocs/tree/main/fragnesia&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/v12-security/pocs/tree/main/fragnesia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Fragnesia (CVE-2026-46300)：Linux 核心本地提權漏洞影響與緩解</title>
        <link>https://knightli.com/zh-tw/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/</link>
        <pubDate>Fri, 15 May 2026 13:18:01 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/</guid>
        <description>&lt;p&gt;Linux 核心最近又曝出一個和 Dirty Frag 同一類攻擊面相關的本地提權漏洞：Fragnesia (CVE-2026-46300)。&lt;/p&gt;
&lt;p&gt;根據 V12 Security 的披露，Fragnesia 是一個 Linux 本地提權漏洞。攻擊者不需要在宿主機上已有高權限，只要能在本地執行程式碼，就可能借助核心 XFRM ESP-in-TCP 子系統中的邏輯缺陷，把唯讀檔案的頁面快取內容按位元組改寫，最終觸發 root shell。&lt;/p&gt;
&lt;p&gt;原始資料：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;V12 Security PoC 說明：&lt;a class=&#34;link&#34; href=&#34;https://github.com/v12-security/pocs/blob/main/fragnesia/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/v12-security/pocs/blob/main/fragnesia/README.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本文不展開可復現利用步驟，只整理維運側需要知道的風險點和處置思路。&lt;/p&gt;
&lt;h2 id=&#34;它和-dirty-frag-是什麼關係&#34;&gt;它和 Dirty Frag 是什麼關係
&lt;/h2&gt;&lt;p&gt;V12 Security 在說明中把 Fragnesia 歸到 Dirty Frag 漏洞類別裡。它不是 Dirty Frag 本身的同一個 bug，而是同一攻擊面上的另一個問題：Linux 核心的 XFRM ESP-in-TCP。&lt;/p&gt;
&lt;p&gt;XFRM 是 Linux 核心裡處理 IPsec 的框架。ESP-in-TCP 則和透過 TCP 承載 ESP 加密流量有關。Fragnesia 的問題出在共享頁面片段和 socket buffer 合併過程中的邏輯處理：某些情況下，核心會「忘記」某個 fragment 仍然是共享狀態，進而留下可控寫入空間。&lt;/p&gt;
&lt;p&gt;這類問題讓人聯想到 Dirty Pipe / Dirty Frag 這一類頁面快取寫入漏洞。共同點不是具體程式碼完全相同，而是都把攻擊效果落到了頁面快取裡的唯讀檔案副本上。&lt;/p&gt;
&lt;h2 id=&#34;風險為什麼高&#34;&gt;風險為什麼高
&lt;/h2&gt;&lt;p&gt;Fragnesia 的危險之處有三個。&lt;/p&gt;
&lt;p&gt;第一，它是本地提權。只要攻擊者已經能在系統上執行普通使用者程式碼，就可能把權限提升到 root。對多使用者伺服器、容器宿主機、CI runner、共享開發機、VPS 和暴露 Shell 的環境來說，這類漏洞比普通桌面更敏感。&lt;/p&gt;
&lt;p&gt;第二，它不依賴傳統競爭條件。V12 的說明中提到，該漏洞透過構造 ESP-in-TCP 處理流程，讓核心把加密流處理到已經 splice 進 socket buffer 的檔案頁面上，進而按位元組影響頁面快取內容。這意味著風險不只是「理論上可能」，而是研究團隊已經驗證了穩定利用路徑。&lt;/p&gt;
&lt;p&gt;第三，它改的是頁面快取，不是磁碟檔案。公開說明裡的示例目標是 &lt;code&gt;/usr/bin/su&lt;/code&gt;。利用成功後，磁碟上的檔案並不會被永久改寫，改動存在於記憶體頁面快取中。很多只檢查磁碟檔案 hash 或完整性的巡檢流程，可能看不出異常。&lt;/p&gt;
&lt;p&gt;這也是它對管理員麻煩的地方：系統看起來檔案沒變，但一旦執行被污染頁面快取裡的目標二進位檔，就可能觸發提權效果。&lt;/p&gt;
&lt;h2 id=&#34;已知影響範圍&#34;&gt;已知影響範圍
&lt;/h2&gt;&lt;p&gt;V12 Security 的說明稱，受 Dirty Frag 影響且沒有套用 2026 年 5 月 13 日相關修補的核心，也會受 Fragnesia 影響。公開驗證環境包括 Ubuntu 22.04、Ubuntu 24.04，以及 &lt;code&gt;6.8.0-111-generic&lt;/code&gt; 這類核心版本。&lt;/p&gt;
&lt;p&gt;這裡要注意兩點。&lt;/p&gt;
&lt;p&gt;第一，不要只看發行版大版本。Ubuntu 22.04 / 24.04 是否受影響，最終取決於核心修補狀態，而不是發行版名字。&lt;/p&gt;
&lt;p&gt;第二，不要只看有沒有預設 AppArmor 限制。Ubuntu 對非特權使用者命名空間的 AppArmor 限制可以提高門檻，但披露方明確把它視為額外繞過問題，不是漏洞本體的根治方式。&lt;/p&gt;
&lt;p&gt;真正可靠的判斷方式，仍然是查看發行版安全公告和核心套件更新。&lt;/p&gt;
&lt;h2 id=&#34;臨時緩解思路&#34;&gt;臨時緩解思路
&lt;/h2&gt;&lt;p&gt;如果系統暫時不能立刻升級核心，可以先評估是否依賴相關協定模組。&lt;/p&gt;
&lt;p&gt;V12 給出的緩解方向與 Dirty Frag 相同：如果系統不依賴 IPsec ESP 或 RxRPC，可以禁用相關模組，例如 &lt;code&gt;esp4&lt;/code&gt;、&lt;code&gt;esp6&lt;/code&gt;、&lt;code&gt;rxrpc&lt;/code&gt;。這類操作會影響相關網路能力，生產環境不要盲目執行，應先確認業務是否使用 IPsec、VPN、隧道或相關核心功能。&lt;/p&gt;
&lt;p&gt;更穩妥的處置順序是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;確認發行版是否已經發布核心安全更新。&lt;/li&gt;
&lt;li&gt;優先安裝核心修補並安排重啟。&lt;/li&gt;
&lt;li&gt;如果無法立即升級，再評估臨時禁用相關模組。&lt;/li&gt;
&lt;li&gt;對多使用者系統和 CI / 建置環境優先處理。&lt;/li&gt;
&lt;li&gt;檢查是否開放非必要本地帳號、Shell、容器逃逸面和低權限執行入口。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;這裡不要把禁用模組當作最終修復。它更像是臨時降低暴露面。&lt;/p&gt;
&lt;h2 id=&#34;如果懷疑已經被利用&#34;&gt;如果懷疑已經被利用
&lt;/h2&gt;&lt;p&gt;Fragnesia 的一個特點是頁面快取污染。V12 在說明中強調，利用後目標檔案在頁面快取中的副本可能含有注入內容，後續執行仍可能觸發異常行為，直到頁面被驅逐或系統重啟。&lt;/p&gt;
&lt;p&gt;如果懷疑系統已經被利用，至少要做幾件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;盡快保留現場日誌和稽核記錄。&lt;/li&gt;
&lt;li&gt;檢查近期異常本地登入、低權限使用者活動、可疑程序和 root shell 痕跡。&lt;/li&gt;
&lt;li&gt;清理相關頁面快取或直接重啟。&lt;/li&gt;
&lt;li&gt;升級到已修復核心。&lt;/li&gt;
&lt;li&gt;對關鍵二進位檔做完整性檢查，但不要只依賴磁碟 hash。&lt;/li&gt;
&lt;li&gt;輪換可能已經暴露的憑證和金鑰。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果是生產伺服器，更建議把它當作一次潛在本地提權事件處理，而不是只當作普通補丁升級。&lt;/p&gt;
&lt;h2 id=&#34;維運側該優先看哪些機器&#34;&gt;維運側該優先看哪些機器
&lt;/h2&gt;&lt;p&gt;這類漏洞優先級最高的不是所有 Linux 機器平均處理，而是先看攻擊者最容易拿到低權限程式碼執行的地方。&lt;/p&gt;
&lt;p&gt;優先級較高的環境包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;多使用者登入伺服器&lt;/li&gt;
&lt;li&gt;CI / CD runner&lt;/li&gt;
&lt;li&gt;建置機&lt;/li&gt;
&lt;li&gt;共享開發機&lt;/li&gt;
&lt;li&gt;容器宿主機&lt;/li&gt;
&lt;li&gt;VPS 和雲主機&lt;/li&gt;
&lt;li&gt;暴露 SSH 的邊緣節點&lt;/li&gt;
&lt;li&gt;執行第三方腳本或外掛的平台&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;相對封閉、單使用者、沒有外部程式碼執行入口的機器，風險仍然存在，但緊急程度可以低一些。&lt;/p&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;Fragnesia 值得關注，不是因為它名字新，而是因為它再次把 Linux 本地提權問題拉回到頁面快取和核心網路子系統這一類複雜交界處。&lt;/p&gt;
&lt;p&gt;對管理員來說，最重要的不是研究利用細節，而是確認核心修補狀態、評估是否依賴 ESP / RxRPC、對高暴露機器優先升級，並理解「磁碟檔案沒變」不等於「系統沒有被影響」。&lt;/p&gt;
&lt;p&gt;如果系統受影響，最終答案仍然是盡快安裝發行版提供的核心更新。臨時禁用模組只能算過渡措施，不能替代補丁。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
