安全與隱私 · Clash 技術部落格

Clash Verge Rev Windows 服務權限提升風險怎麼處理?

Clash Verge Rev Windows 服務有權限提升風險:GHSA-99qg-xv7m-jf4v 涉及 <=2.5.4,修補版本為 v2.5.4+autobuild.0908.bbab52d。

  • Clash Verge Rev
  • Windows 服務
  • 權限提升
  • GHSA-99qg-xv7m-jf4v
  • 安全更新
本文目錄

這次風險影響哪些 Windows 安裝?

Clash Verge Rev 的 GHSA-99qg-xv7m-jf4v 公告描述的是 Windows 系統服務的本機權限提升風險:低權限的本機使用者或處理程序可能繞過服務的存取限制,讓以 LocalSystem 身分執行的服務執行程式碼。公告明確指出這是本機風險,無法直接透過網路遠端利用。

公告列出的受影響版本是 <= 2.5.4,明確標出的修復建置是 v2.5.4+autobuild.0908.bbab52d。這裡的 +autobuild 後綴不能省略;普通 v2.5.4 與該修復建置不能只看主版本號就當成同一個安全狀態。

風險對象是 Clash Verge Rev 在 Windows 上安裝的系統服務,不是 Mihomo 的規則、訂閱或代理節點,也不應套用到 macOS、Linux 或其他 Clash 用戶端。系統服務獨立於圖形介面執行,退出 Clash Verge Rev 後也可能繼續留在背景,因此只關視窗或只關 TUN 不能證明服務已經停止。

沒有彈出警示、代理仍能正常使用,或尚未觀察到異常處理程序,都不能排除舊服務仍在執行;反過來,安裝過受影響版本也不能證明裝置已遭利用。先確認服務是否存在、是否正在執行,再決定要停用、更新,還是依安全事件處理。

版本與服務狀態怎麼判斷

看到的情況可以判斷什麼現在怎麼做
Windows 上執行普通 v2.5.4 或更早版本,服務仍已安裝落在公告標出的受影響範圍先卸載或停用服務,再核對修復來源
完整建置號為 v2.5.4+autobuild.0908.bbab52d公告明確把這個建置列為已修復仍需確認舊服務已被替換,驗證實際服務狀態
只看到 v2.5.5 或更新版本號不能從 v2.5.5 發布說明單獨證明這項 GHSA 已修復核對維護者的安全說明及實際服務元件,證據不足時保持服務停用
Windows 上未安裝該服務,或已完成卸載目前沒有這個服務的執行入口保留停用狀態,仍檢查其他異常證據
macOS、Linux 或其他用戶端不屬於這份 Windows 服務公告的適用範圍按各自專案的安全公告判斷

版本還沒核對清楚,先怎樣停用服務?

如果這台 Windows 電腦曾安裝 Clash Verge Rev 服務,而你無法確認正在執行的是公告列出的修復建置,先關閉 TUN,再停用或卸載系統服務。

專案自己的設定文案提供“卸載服務”操作;專案文件也說明,Windows 可在設定選單的虛擬網路介面卡旁使用刪除圖示。不同版本的介面位置可能變化,以目前安裝版的可見提示為準。

先記下目前應用版本、執行方式、是否啟用 TUN 和系統代理,再執行卸載。服務操作通常需要管理員授權;單位或學校裝置應由有權限的管理員完成,不要透過修改系統目錄權限來繞開授權。

專案文件明確指出,關閉圖形介面不會讓服務處理程序自動退出。卸載後請重新啟動電腦,並在 Windows 的「服務」管理工具中確認對應的 Clash Verge Rev 服務未重新啟動。不要誤停名稱相似的其他網路服務;若無法確認服務身分或卸載失敗,先停止用這台裝置處理敏感資訊,並請管理員依安裝路徑核對。

把舊服務從日常使用中移開

  1. 記錄現狀

    儲存應用的完整版本字串、TUN 與系統代理狀態,以及服務是否已安裝的介面資訊。不要公佈訂閱位址或日誌中的金鑰。

  2. 關閉 TUN

    在 Clash Verge Rev 中關閉虛擬網路介面卡模式,避免卸載服務時仍依賴該執行方式;這一步本身不等於停用服務。

  3. 使用卸載服務入口

    在設定中找到“卸載服務”或虛擬網路介面卡旁的刪除操作,按系統提示完成管理員授權,不手動刪除未知可執行檔案。

  4. 重啟並確認

    重啟 Windows 後在服務管理器核對該服務不再執行;若仍在,保持 TUN 關閉並交由管理員處理。

  5. 驗證基本聯網

    需要臨時聯網時,使用不依賴該服務的已驗證系統代理或其他受信任方案,完成一次實際 HTTPS 請求。

怎樣核對實際建置和正在執行的服務?

在 Clash Verge Rev 的“關於”或版本資訊中記錄完整字串,不要只抄前面的 2.5.4。對照 GHSA 的修復建置時,主版本、+autobuild 後綴和尾部識別碼都必須一致。若應用只顯示簡短版本號,資訊不足就繼續保持服務停用。

再到 Windows 的「服務」管理工具查看對應服務是否存在、是否正在執行,並核對其可執行檔案路徑確實指向目前的 Clash Verge Rev 安裝位置。專案文件將服務描述為獨立的處理程序,因此圖形介面已更新或退出,都不足以證明背景沒有留下舊元件。不要為了讀取版本而連線至服務的本機通訊介面或傳送測試請求。

Clash Verge Rev v2.5.5 的官方 Release 列出多項服務安裝、執行和相容性修復,但沒有在該頁明確把 GHSA-99qg-xv7m-jf4v 作為修復項目。不能僅憑“v2.5.5 是更新的穩定版”這一點替代公告給出的精確修復證據。若維護者後續公佈新的已修復版本範圍,再按新的官方說明更新判斷。

“關於”僅顯示 v2.5.4,沒有建置後綴

先按受影響範圍處理;保持系統服務停用,直到能核對完整建置或安裝來源。

應用已更新,但服務仍指向舊安裝目錄

不要開啟 TUN;先按專案官方卸載或修復服務流程處理舊元件。

服務管理器找不到對應服務

記錄這一結果,不再為驗證風險而重新安裝舊服務。

出現未知的服務路徑或簽名不符

停止使用該元件並交由管理員或安全工具檢查,不把它當作正常更新。

要繼續使用服務,應該升級到哪個建置?

以 GHSA 目前列出的 v2.5.4+autobuild.0908.bbab52d 作為明確可核對的修復建置。只從 clash-verge-rev/clash-verge-rev 專案的官方發布管道取得安裝套件,並核對完整檔案名、系統架構和發布頁給出的驗證資訊。

找不到該建置的可驗證官方資產時,保持舊服務卸載狀態,等待專案維護者給出能夠獨立核對的更新;不要使用搜尋廣告、雲端硬碟或第三方重打包檔案。

官方 v2.5.5 Release 可以作為尋找較新安裝套件的入口,但該發布說明沒有直接寫出它修復了這項 GHSA。若選擇 v2.5.5 或後續穩定版,應另外核對維護者公告、對應服務元件或修復提交的包含關係;在證據不足前,不要重新啟用高權限服務。

安裝前備份可信的 Profile 和應用設定,儲存原始安裝套件來源與版本記錄。升級應用後,再按專案官方流程處理舊服務並安裝新服務;最後重新檢查服務實際執行的元件,不能只憑更新程式提示“完成”就結束驗證。任何時候都不要從舊備份把服務可執行檔案單獨複製回系統目錄。

升級時保留可核對的證據

  1. 確認官方建置

    把候選包的完整版本與 GHSA 的 v2.5.4+autobuild.0908.bbab52d 對照;其他版本需要獨立的官方修復證據。

  2. 核對下載來源

    從專案官方 Release 選擇正確 Windows 架構,儲存資產名稱和頁面提供的驗證資訊。

  3. 備份可信設定

    只備份確認來源的 Profile 與必要設定;保留舊安裝記錄用於診斷,不保留舊服務供再次啟用。

  4. 安裝並處理服務

    按應用目前版本的官方提示完成安裝和服務替換,確認舊服務沒有繼續從舊路徑執行。

  5. 再開啟所需功能

    僅在修復證據與實際服務狀態都核對後,才重新啟用服務模式或 TUN。

怎樣驗證止損和更新成功?

如果選擇暫時不用服務,重啟後確認服務未執行,TUN 仍關閉,並用不依賴該服務的方式完成一次實際 HTTPS 存取。代理可用只能說明聯網路徑恢復,不能替代服務狀態檢查。

如果已經安裝公告明確標出的修復建置,則同時核對完整建置號、目前服務檔案路徑、服務模式執行狀態和一次實際連線。需要 TUN 的使用者再單獨驗證 TUN 流量;不需要 TUN 的使用者沒有必要為了測試而重新安裝服務。

不要執行漏洞復現指令碼、建立模擬低權限賬戶或讓未知網頁存取本機介面。版本、來源、服務狀態與正常業務請求,已經足以完成使用者側的安全更新驗收;是否發生過入侵需要另行看系統證據。

無需利用程式碼的驗收清單

  • 已儲存應用完整版本、安裝來源與目前服務狀態
  • 舊服務已卸載或停用;若重新安裝,修復建置有官方證據且舊路徑不再執行
  • 重啟後服務狀態與預期一致,沒有自動恢復舊元件
  • TUN 僅在需要且修復證據已核對時開啟
  • 系統代理或其他實際使用的聯網方式完成實際 HTTPS 請求
  • 確認沒有靠修改目錄權限、重裝舊服務或執行 PoC 來換取「驗證通過」的結果

如果懷疑曾被本機程式利用怎麼辦?

受影響版本和執行中的服務只表示存在風險條件,不代表有人已取得 SYSTEM 權限。若同時出現未知的高權限處理程序、安全軟體警示、異常排程工作、認證資訊遭改動,或其他可對照時間線的異常,再依可能的裝置入侵事件處理。

先讓裝置與網路隔離,並停止使用舊服務;記錄完整版本、服務路徑、異常開始時間、警示和可疑處理程序。保留原始日誌與設定,只製作脫敏副本供分享;不要為了「清理」立即刪除不認識的檔案,這些檔案可能是判斷影響範圍的證據。

使用 Windows 或組織認可的安全工具完成掃描,並請管理員檢查開機啟動項目等持續駐留機制與高權限活動。若訂閱 token、節點密碼、瀏覽器工作階段或雲端憑證可能外洩,應在另一台可信裝置上讓舊憑證失效並重新核發。無法確認系統完整性時,應使用可信的安裝媒體重建系統,只還原確認乾淨的設定。

更新出問題時,怎樣恢復聯網而不啟用舊服務?

修復建置若在目前裝置上無法安裝、服務無法啟動或 TUN 不工作,先保持舊服務停用。使用 Clash Verge Rev 可正常運作的非服務方式和系統代理,或切換到另一款已核對來源的用戶端,恢復必要聯網;系統代理並不接管所有應用,恢復後用實際業務驗證。

若聯網仍失敗,先檢查系統代理是否指向仍在執行的本機連接埠,再檢查目前 Profile 和節點。不要為恢復 TUN 而從舊備份複製服務檔案、降回公告受影響的建置,或放寬服務目錄的存取權限。

向專案報告升級故障時附上系統版本、CPU 架構、完整應用建置號、服務狀態、首條錯誤和脫敏日誌。若只能拿到沒有明確 GHSA 修復證據的較新安裝套件,暫不安裝其高權限服務,等待維護者澄清即可。

安全還原完成標準

  • 受影響或版本不明的系統服務沒有重新執行
  • TUN 關閉,基礎聯網或系統代理已用實際請求驗證
  • 可信 Profile 已保留,舊服務可執行檔案沒有從備份恢復
  • 安裝失敗原因和完整建置號已記錄,公開意見回饋已脫敏
  • 後續重新啟用服務前仍會核對官方修復證據

以後要記錄哪些資訊,才不會把應用更新誤當成服務修復?

Clash Verge Rev 專案文件說明,高權限服務是在背景執行、獨立於圖形程式的處理程序。往後每次更新都應記錄應用程式的完整建置號、服務是否安裝、服務檔案的實際路徑、是否啟用 TUN,以及對應的官方 Release 或安全公告。只記錄主版本號,無法區分普通 v2.5.4 與公告點名的修復建置。

GHSA 列出 Windows 本機權限提升的影響範圍與明確的修復建置;v2.5.5 Release 則列出較新版本及服務相關改動,但發布說明沒有直接引用這份 GHSA。兩者回答的是不同問題,不能把「安裝了較新版本」直接寫成「已依安全公告完成核驗」。

若上游今後更新 GHSA 的修復版本範圍或發布專門的服務安全說明,應以新的專案一手資料重新核對。對受管理的電腦,最好把服務更新納入管理員批准的軟體更新流程,並定期確認已經卸載的舊服務沒有被自動安裝回來。

參考資料