Gitea修補CVE-2026-59774重大漏洞:未登入攻擊者可經由Org-mode文件處理讀取伺服器檔案,並在特定條件下進一步導致遠端程式碼執行;受影響版本為1.22.1至1.27.0,官方已於1.27.1修補。
開源 Git 服務平臺 Gitea 近日揭露並修補 CVE-2026-59774,這是一項 CVSS 3.1 評分達 9.8 的重大漏洞。根據 ITNEWS ISC 的報導,遠端攻擊者不需要登入,只要目標伺服器上存在可公開存取的儲存庫,就可能透過文件處理功能讀取伺服器內的檔案,進而取得內部存取權杖,最終甚至可導致程式碼執行。[4]
該漏洞的核心風險在於:攻擊入口不需要先取得儲存庫寫入權限,也不必上傳惡意檔案,只要公開儲存庫對外可讀,就可能成為利用點。[4] 官方已在 Gitea 1.27.1 完成修補,受影響版本涵蓋 1.22.1 至 1.27.0。[4][5]
CVE-2026-59774 發生在 Gitea 處理 Org-mode 文件的流程。Gitea 提供文件預覽功能,讓使用者瀏覽特定格式內容,但 Org-mode 本身支援從指定路徑載入其他檔案;原本的處理流程未有效阻止這項能力存取伺服器本機檔案,因此攻擊者能夠提交特製內容,誘使 Gitea 代為讀取不應公開的檔案。[4][5]
這類問題本質上屬於不當的文件解析與路徑存取控制缺陷。從外部視角看,攻擊者只是在操作一個預覽或渲染端點;但在伺服器端,渲染器實際上被迫讀取本機檔案,導致敏感資訊外洩。[4][5] 相關報導也指出,漏洞利用範圍取決於 Gitea 服務帳號本身具備哪些檔案存取權限,也就是說,服務執行身分的權限邊界會直接影響可被讀取的資料範圍。[4]
更嚴重的是,這不只是資料外洩問題。Gitea 安全公告指出,如果攻擊者讀到系統主要設定檔中的內部存取權杖,便可能利用 Gitea 內部功能寫入 Git hook,使 Git 在特定操作時自動執行指定指令。[4][3] 在這條攻擊鏈中,未登入使用者在複製儲存庫時即可觸發 hook,讓惡意命令以 Gitea 服務帳號權限在伺服器上執行,形成遠端程式碼執行風險。[4][3]
就攻擊流程來看,這代表漏洞具有「先讀檔、再提權、後執行」的多階段特性:第一階段利用 Org-mode 渲染讀取本機檔案,第二階段從設定檔中提取內部 token,第三階段透過內部功能植入 hook,第四階段在匿名 clone 或相關操作時觸發命令執行。[4][3] 這也是為何官方與媒體皆將其列為可從未經驗證存取一路升級到 RCE 的高危漏洞。[4][3]
受影響版本為 Gitea 1.22.1 至 1.27.0,修補版本為 1.27.1。[4][5][7] 只要環境中存在可公開讀取的儲存庫,且該儲存庫可被用來觸發相關文件渲染流程,就可能成為攻擊入口。[4][5]
實際風險高低,還會受到部署方式與權限設定影響。若 Gitea 服務帳號擁有較廣泛的本機檔案讀取權限,攻擊者可讀取的內容就更多;若系統設定檔或 token 保護不足,則攻擊鏈更容易成立。[4][8]
多個安全資訊來源都強調,這類漏洞對外網公開的 Gitea 實例風險最高,尤其是允許匿名訪問公開儲存庫的場景。[4][5][7]
最直接且最有效的措施,是立即升級至 Gitea 1.27.1 或更新版本。[4][5][7]
若懷疑系統已遭曝露或被嘗試利用,應同步檢查日誌、輪替可能外洩的機密,並確認是否有異常 hook 行為。[3][8] 相關建議包含檢視 `app.ini` 的權限,以及確認 Gitea 服務並非以 root 執行。[2][8]
若短期內無法立即升級,至少應暫時收斂公開儲存庫暴露面,並密切監控對 markup 相關端點的異常請求。[7][13]
若環境中已出現設定檔讀取、token 外洩、異常 clone 行為或 hook 相關跡象,建議進一步輪替 INTERNAL_TOKEN 與相關憑證,避免攻擊者在取得一次讀取權限後持續橫向利用。[8][3]