開源專案的漏洞揭露與通報管道
Radicle 到 10 月 8 日還沒有修補網路協定漏洞的新版,用私有 repo 的人要照公告處理。Xray-core 的修補是否告知使用者說法不同,Google 的開源軟體漏洞獎勵計畫也從 10 月 1 日起停收產品漏洞通報。
9 月底到 10 月初,幾個開源專案的漏洞用不同的方式公開。Radicle 在修補版推出前公告網路協定的兩個漏洞,GitHub Security Lab 在修補之後公開用 AI agent(能自行執行多個步驟的 AI 工具)找到的 Android App 漏洞。Xray-core 2 月那次修補是否告知使用者,Exclave 的協作者與 Xray-core 的作者說法不同。Google 的開源軟體漏洞獎勵計畫也從 10 月 1 日起停收產品漏洞通報。
用 Radicle 私有 repo 的人、OsmAnd 與 Wikipedia 的 Android 使用者,以及用 Xray-core 的釘選功能指定公開 CA 憑證的使用者,都要確認自己的版本或設定。Radicle 到 10 月 8 日還沒有修補版,公告建議修補前停止使用私有 repo。
Radicle 是以 Git 為基礎、點對點的程式碼協作工具,9 月 23 日公告了兩個漏洞。節點之間的資料以明文傳送,網路路徑上的人看得到內容。連線開始時的身分確認也有缺陷,攻擊者可以冒充允許清單上的節點取得私有 repo。攻擊者要先知道清單上的節點 ID,而清單不公開。
公告寫到實際的威脅是兩個節點之間網路路徑上的人,所有已發布的版本都受影響。repo 的內容有簽署,路徑上的人竄改內容會被發現,主要的風險是資訊外洩。公開的 repo 受的影響較小。
到 10 月 8 日還沒有修補版,公告寫到修補要把網路層換成開源的 iroh,新舊版本無法互通。公告建議修補前停止使用私有 repo,傳送過的私有 repo 都視為已經外洩,裡面未加密的憑證、金鑰與 token 要更換。公告也寫明,另外透過 Tor、I2P 或 VPN 連線不足以防止冒充。
GitHub Security Lab 9 月 28 日的文章寫到,團隊用自己開發的 Taskflow Agent 讓 AI 模型逐步檢查 Android App 的進入點(其他 App 或連結可以觸發的功能)。到發文時,團隊通報了 24 個漏洞。作者寫到 AI 常回報實際上很難觸發的問題,嚴重度也常估錯,每一個發現都要有懂行動 App 的研究者確認。依 GitHub 上 repo 的授權標示,Taskflow Agent 以 MIT 授權開源,執行時需要 GitHub Copilot 的授權。
到 10 月 8 日,advisories 頁上對得上這篇文章的 Android advisory(漏洞公告)有 5 則,都在 10 月 1 日公開。其中一則讓不需要任何權限的惡意 App 取得 OsmAnd 的即時位置,另一則讓攻擊者透過連結竊取 Wikipedia App 的登入 cookie。依 advisory 的時程,Wikipedia 在 4 月、OsmAnd 在 6 月確認修補,本文查不到修補收在哪一個版本。
Xray-core 是 v2rayN 等代理工具客戶端使用的核心元件。7 月 10 日公開的一則 advisory 寫到,用 pinnedPeerCertSha256 釘選(只接受指定的憑證)公開 CA(簽發網站憑證的機構)的憑證時,Hysteria 與 gRPC 兩種連線方式的部分路徑沒有核對伺服器名稱。同一個 CA 簽發的其他憑證也會通過驗證,連線可能遭到中間人攻擊(攻擊者在連線中間假冒伺服器)。advisory 的嚴重度標為低,受影響的是 v26.1.13 起的版本,修補版是 v26.7.11。
另一個代理工具 Exclave 的協作者 9 月 29 日在該專案的討論區寫到,他在 2 月 6 日私下通報同一個選項的驗證繞過問題。依他的說法,Xray-core 當天以「簡化程式碼」為名修補並發布新版,沒有告訴使用者。他也寫到 7 月 3 日發現修補不完整,於是改用 GitHub 的漏洞通報功能,也就是 7 月那則 advisory。他在 v2rayN 的討論串另寫到,2 月是通知 Xray-core 的另一位開發者。
到 10 月 8 日,Xray-core 沒有在 Exclave 的貼文回應。7 月底到 8 月初,第三方使用者在 v2rayN 討論區提出類似質疑時,Xray-core 的作者寫到 2 月修的是另一個問題。作者寫到 7 月的漏洞只影響 Hysteria 與 gRPC 釘選公開 CA 的情況。作者也寫到,2 月的版本說明已經寫了「重要修复,请及时升级」,另一位開發者提交 2 月那個修改時沒有告訴他其中包含修補。
Google 的開源軟體漏洞獎勵計畫規則頁寫到,10 月 1 日起不再受理產品漏洞的通報。到 10 月 8 日,供應鏈相關的漏洞(例如簽署金鑰外洩)仍然受理,規則頁也寫到 2027 年第一季會公布後續。依 The Hacker News 的報導,Google 在 X 上的貼文寫到原因是自動化提交大增,其中絕大多數無效。報導也寫到,貼文沒有說這些提交是否由 AI 產生。
導讀觀點
常見的協調揭露流程是揭露者私下通報,專案修補之後再發布 advisory,必要時申請 CVE 編號(漏洞的公開識別碼)。GitHub 的 repo 可以開啟私下通報漏洞的功能,沒有開啟時,文件建議依 repo 的安全政策或先開 issue 詢問聯絡方式。GitHub Security Lab 的 5 則 advisory 都在修補之後公開,也都有 CVE 編號。Xray-core 的 advisory 在修補的 commit 之後 15 分鐘公開,沒有 CVE 編號。
Radicle 選擇在修補前公開,公告寫到使用者今天就能採取行動,之後的修補也無法挽回已經發生的外洩。本文推論,提前公開的代價是攻擊者也知道了漏洞。
Xray-core 的爭議在於修補時要不要明白告訴使用者。Xray-core 的作者主張受影響的情況很少,版本說明也已經要大家升級,並寫到「只是这种东西需要大张旗鼓通报吗」。Exclave 的協作者寫到 Xray-core 發布新版時沒有提到漏洞,「用户蒙在鼓里」。兩邊對 2 月那次修改修了什麼的說法不同,本文無法從公開的紀錄判斷。
GitHub Security Lab 的文章寫到,AI 輔助的安全研究是目前保護開源專案最好的方式之一。Google 3 月的部落格則寫到 AI 產生的報告大增,有些包含錯誤的資訊。依 The Hacker News 的報導,Google 10 月停收時的貼文寫的原因是自動化提交,沒有說明是否由 AI 產生。
依 GitHub 的文件,維護開源專案的人可以在 GitHub 開啟私下通報漏洞的功能,或在 repo 放一份寫明聯絡方式的安全政策。
用 Radicle 私有 repo 的人,可以照公告停止分享私有 repo(不會刪除本機的副本),傳送過的 repo 裡未加密的憑證要更換。已經同步出去的資料無法收回。用 OsmAnd 或 Wikipedia Android App 的人,本文推論更新到最新版應已包含修補,本文查不到是哪一版。7 月 advisory 描述的漏洞只影響釘選公開 CA 憑證、走 Hysteria 或 gRPC 的設定,2 月那次修補的範圍雙方說法不同,本文推論用釘選功能的人都可以確認工具內建的 Xray-core 是 v26.7.11 以上。