
Gitea 於 2026 年 11 月 1 日發佈 28.3.0,屬於 28 系列第三個維護版本。官方公告列出二十一項 CVE,並強烈建議所有用戶緊急升級;本版本同時包含六十個已合併的 pull request,以及針對 Actions、議題、拉取請求與套件管理的修正與效能改進。由於多項漏洞涉及權限權限範圍與工作流信任,自架實例的管理員須優先處理。
最嚴重問題為 OAuth2 帳戶接管
編碼 CVE-2026-120263 的漏洞影響啟用 ACCOUNT_LINKING = auto 且開放註冊的站台。在該設定下,使用者透過 OAuth2 提供者登入後,可在連結帳戶的身份表單中輸入既有帳戶的使用者名稱或電子郵件地址,既有帳戶即被連結至外部身份分,並在無需密碼的情況下完成登入。修正後,系統只會自動連結外部身份分所對應的電子郵件或使用者名稱指向的帳戶。若站台仍使用自動連結並開放註冊,相關風險最高。
權限權限與工作流漏洞
多項漏洞源於 public-only 權限限制未被完整套用。CVE-2026-117635 指出,管理員 API 未套用權限限制,令管理員的 public-only 權限可列出所有使用者電子郵件、建立私有組織與 runner 權限,甚至新增管理員。CVE-2026-119441 涉及 DELETE /api/v1/orgs/{org}/repos,組織擁有者的 public-only 權限可刪除組織所有倉庫,包括私有倉庫。另有一 CVE-2026-112887,指出 Actions 任務權限沒有權限範圍,任務的 GITEA_TOKEN 可透過 GET /api/v1/user/repos 列出實例上所有私有倉庫。
工作流信任方面,CVE-2026-118386 允許具讀取權限的使用者在同一倉庫的拉取請求上提交審查,並把 commit_id 指向自己的提交,令 pull_request_review 工作流在未經批准下以該提交執行,取得倉庫密鑰及可瀏覽權限;修正後改為在拉取請求的 head 上執行。CVE-2026-113429 涉及輕量版 Actions 產物上傳,未經檢查便緩存 Content-Encoding 標頭並以 Content-Type 回傳,工作流可上傳在 Gitea 網域上以 HTML 呈現的產物,形成倉庫型跨站腳本攻擊。CVE-2026-117677 指出 Helm chart 上傳在檢查權限前便解壓整個檔案,且沒有大小上限,具權限者可耗盡服務器資源。
升級注意:簽署信任範圍改變
CVE-2026-111943 並非程式碼漏洞,而是建置鏈變更。28.3.0 的官方二進位改以 Go 1.27.3 建置,因簽發機構的保安問題,新版本不再信任任何一組中繼簽署。此改動影響 Gitea 對外連線的簽署檢查,包括 OAuth2 提供者、webhook、鏡像與遷移。升級後若相關服務的簽署鏈依賴已被移除的中繼簽署,連線可能會失效,管理員須在升級前檢查外部服務的簽署鏈,並預留處理時間。
其他修正與升級建議
效能方面,本版本加快議題與拉取請求清單及倉庫清掃,修正資料表索引,令 SQLite 不再在管理員任務列表頁讀取近乎全部任務記錄;runner 權限驗證結果亦會較快取回。倉庫界面,Git 保護預設策略改為 gc,重新命名的檔案在 diff 中會正確載入兩個 blob。行為修正包含:停用 Actions 的倉庫不再被 runner 取用、鑰匙綁定的拉取請求拒絕留下新審查留言、ALLOW_FORK_INTO_SAME_OWNER 對組織生效。升級時須先備份資料庫與設定檔,替換二進位後重新啟動服務,並確認版本標籤為 v28.3.0。若短期內無法升級,可考慮關閉開放註冊,或把 ACCOUNT_LINKING 由 auto 改回預設的 login,以下降帳戶接管風險;惟此權宜不能修補其餘權限與工作流漏洞,實際防禦仍以升級為準。