Skip to content
此頁面由 AI 翻譯,內容可能有疏漏。歡迎到 GitHub 協助改進。

Gately v0.6.1 發布 ​

2026 年 10 月 30 日

這一版包含一個安全修復,建議所有開啟了 Docker 管理並使用唯讀帳號或唯讀 API 權杖的使用者盡快升級。同時處理了 #35、#37、#38 與 #40,並新增安全政策。

下載 v0.6.1 · GitHub Release · 安全公告 GHSA-m6h7-mm5r-r53q

安全修復:Docker 唯讀權限洩露容器敏感資訊 ​

v0.6.0.4 及更早版本中,唯讀帳號和只有 docker:read 權限的 API 權杖可以透過 GET /api/docker/containers/{id} 讀到容器環境變數、Command、Entrypoint 與啟動參數的明文,處理程序列表也會顯示完整命令列,常見的資料庫密碼、API 金鑰因此可被唯讀身分取得。感謝 Yousef Alturki(@YousefAlturki)負責任地回報。

修復後:

  • 沒有 Docker 寫入權限的身分查看容器時,環境變數只顯示變數名,值、Command、Entrypoint、啟動參數以及處理程序列表中的命令參數顯示為 ********;映像檔詳情中的環境變數、Cmd、Entrypoint 與建置歷史命令同樣隱藏;
  • 明文改由需要 docker:write 的 GET /api/docker/containers/{id}/secrets 提供,管理員開啟編輯表單時自動讀取,提交時仍為預留位置的欄位沿用原值;
  • 按容器名稱或 ID 前綴呼叫介面時先解析為完整 ID,Gately 自身所在容器的保護不能再透過容器名繞過;編輯、升級重建時始終按完整 ID 處理舊容器,修復了按名稱呼叫時清理階段誤刪新容器、失敗後無法回滾的問題;重建期間對該容器的啟停與刪除回傳 409。

升級後請檢查唯讀 API 權杖是否曾被分發給不受信任的一方,必要時輪換容器中的金鑰。漏洞回報方式見 SECURITY.md,可以透過 GitHub 私密漏洞回報或電子郵件提交。

憑證簽發網路 ​

憑證新增「網路」選項(#35):「僅 IPv4」或「僅 IPv6」讓存取 CA、呼叫 DNS 服務商介面以及檢查 TXT 記錄生效都只使用對應位址族。主機有 IPv6 位址但 IPv6 實際不通時,原先的生效檢查會在查詢權威 DNS 伺服器時逾時導致簽發失敗,選擇「僅 IPv4」即可。經 HTTPS_PROXY 等代理存取時,連線代理本身不受該選項限制。詳見 SSL 憑證 · 簽發網路。

Docker 自身容器保護 ​

Docker 頁面的升級、批次升級、編輯重建,以及對 Gately 所在 Compose 專案執行 up 或刪除專案,都需要先停止舊容器,Gately 處理程序隨之退出、重建無法完成,容器會停在停止狀態(#38)。現在這些操作對自身會被拒絕,介面按鈕變灰並提示在主機上更新,批次升級跳過自身;重新啟動 Gately 所在的 Compose 專案時自身放到最後重新啟動。

通知與日誌跟隨介面語言 ​

伺服器語言為「跟隨系統」時,依序使用 GATELY_LANG、LANG 指定的語言;Docker、飛牛與 OpenWrt 上通常沒有這兩個變數,原先通知會回落為英文(#40)。現在跟隨管理員最近一次登入或在頂欄切換時的介面語言,唯讀帳號登入不改變它。通知中的「來源」為程式產生的名稱時會被翻譯,使用者填寫的任務名保持原樣;帶 [warn] [auth] 這類前綴的英文日誌不再中英混排。

設定預設站台 ​

Web 服務的監聽在預設站台尚未設定時,卡片上新增「設定預設站台」按鈕(#37),可以直接設定未符合任何網域時的兜底處理。

升級提示 ​

  • Docker 拉取新映像後重建容器;OpenWrt 覆蓋安裝新的 .apk / .ipk,需要 LuCI 頁面時再安裝同版本的 luci-app-gately;飛牛在應用中心手動安裝新版 .fpk;其他部署方式可在「系統設定」中線上升級。

以 Apache-2.0 授權條款開源發布。