GitLab升級了。 漏洞卻還在?
CVSS滿分10.0的漏洞已遭實際利用, 仍有逾1,000台公開連網伺服器未修補。 Alpine Linux案例更揭露: GitLab版本更新,不代表底層Ruby一定安全。
版本號碼符合要求, 不代表相依元件已經修補。
GitLab重大漏洞已遭實際利用: 修補發布三週後,仍有逾千台伺服器暴露
企業使用GitLab進行程式碼託管、 版本控制及CI/CD自動部署, 這套系統的權限可能牽涉 開發流程、網站原始碼及發布環境。 因此,當GitLab本身出現 可導致遠端執行程式碼的重大弱點, 影響可能超過一個管理網站。
GitLab於2026年10月12日 發布19.4.2、19.3.5及19.2.8, 修補CVE-2026-97229。 但到了11月2日, BleepingComputer引用Shadowserver觀測指出, 仍有超過1,000台公開連網GitLab伺服器 尚未修補這項漏洞。
更重要的是,美國CISA已在10月29日 將此漏洞列入Known Exploited Vulnerabilities, 簡稱KEV的已知遭利用漏洞清單。 這代表已有足夠可信證據顯示 漏洞在真實環境遭到利用, 並非只有實驗室研究或理論推測。
逾1,000台未修補,是逾1,000台已遭入侵嗎?
不是。Shadowserver的數字是依 網路觀測所得到的未修補公開執行個體, 並非成功入侵的伺服器數量。 實際遭攻擊、是否被取得控制權 仍須透過事件紀錄及鑑識確認。
GitLab.com使用者也必須自行安裝更新嗎?
GitLab官方表示, GitLab.com已部署相關修補; 受影響的GitLab Dedicated環境 也已按官方方式更新。 本篇主要面向自行管理GitLab CE或EE、 使用原始碼安裝及自訂容器的企業。
CVE-2026-97229是什麼? 為什麼規則運算式漏洞能取得CVSS滿分10分?
CVE-2026-97229涉及GitLab CI/CD規則運算式編譯過程中的 整數溢位弱點, 對應CWE-190。 GitLab在讀取特定CI/CD設定時, 可能需要將規則運算式交給 Ruby底層引擎編譯與處理。
如果程式在處理特定輸入時, 沒有正確限制數值計算的邊界, 便可能造成記憶體操作異常。 GitLab官方指出, 在特定條件下, 攻擊者可能藉此在伺服器上 執行任意程式碼。
- 產品
- GitLab CE/EE
- 弱點分類
- CWE-190 整數溢位
- 涉及功能
- CI/CD規則運算式編譯
- CVSS v3.1
- 10.0 / Critical
- 潛在影響
- 特定條件下遠端任意程式碼執行
- 首批修補
- 2026年10月12日
- KEV收錄
- 2026年10月29日
CVSS 10.0代表所有GitLab都會被成功入侵嗎?
不代表。CVSS是弱點嚴重程度的評分, 考量攻擊條件及可能影響, 不是成功入侵的百分比, 也不等於所有伺服器都正在被攻擊。
GitLab官方評估這項漏洞 可能在不需要既有登入權限的條件下 造成遠端程式碼執行。 但實際攻擊仍須能觸及相關處理路徑, 不能簡化成任何人在瀏覽器開啟GitLab首頁 就會自動取得伺服器控制權。
仍有逾1,000台GitLab未修補: Shadowserver數字代表什麼、不代表什麼?
Shadowserver持續觀測對網際網路公開的 GitLab執行個體。 2026年11月2日資安媒體引用的資料指出, 該組織每天可看到約39,000台GitLab系統, 其中超過1,000台仍存在 CVE-2026-97229相關未修補風險。
同期另一項漏洞CVE-2026-110264 的未修補觀測值超過11,300台。 這兩個數字來自不同漏洞的觀測, 可能包含重複的伺服器, 不得加總成「12,300多台已遭駭」。
以報導中的下限數字製作比例示意, 並非精確每日時序統計。 兩組系統可能重疊,也不是受害成功案例數。
網路掃描會漏掉哪些GitLab?
企業內網、透過VPN存取、 位於非公開網段, 或採不同網路設定的部署, 未必全部包含在同一份公開網路觀測結果。 所以39,000台不能當成全球GitLab 所有自建系統的完整數量。
為什麼不能把11月2日數字當成即時數量?
企業隨時可能更新伺服器、 變更網路設定或關閉舊服務。 網路觀測的數量也會因偵測時間、 系統可用性及判定方法變動。 正式報導應標示觀測日期, 而非將過去的掃描結果寫成即時資訊。
GitLab 19.4.2就安全了嗎? 兩項CVSS 10分漏洞與七個分支修補門檻
CVE-2026-97229與CVE-2026-110264 是不同漏洞,不能混用修補版本。 前者10月12日首批修補; 後者10月21日發布更新, 影響的版本範圍也更廣。
| 比較項目 | CVE-2026-97229 | CVE-2026-110264 |
|---|---|---|
| 首次修補 | 10月12日 | 10月21日 |
| CVSS v3.1 | 10.0 | 10.0 |
| 主要弱點 | 規則運算式整數溢位 | 規則運算式整數溢位 |
| CISA KEV | 10月29日收錄 | 本文查核未確認收錄 |
| 19.4分支首批修補 | 19.4.2 | 19.4.3 |
| 公開未修補觀測 | 1,000+ | 11,300+ |
兩項漏洞的官方修補版本有哪些?
GitLab於10月21日發布 19.5.1、19.4.3、19.3.6、19.2.9、 19.1.9、19.0.10及18.11.13。 對使用官方套件或官方映像的系統, 這些是當次公告所列修補門檻。
| GitLab分支 | 10月21日修補門檻 | 應注意事項 |
|---|---|---|
| 18.11 | 18.11.13 | 較舊分支需按官方升級路徑處理 |
| 19.0 | 19.0.10 | 確認是否仍受官方支援 |
| 19.1 | 19.1.9 | 確認是否仍受官方支援 |
| 19.2 | 19.2.9 | 高於第一項漏洞19.2.8門檻 |
| 19.3 | 19.3.6 | 高於第一項漏洞19.3.5門檻 |
| 19.4 | 19.4.3 | 高於第一項漏洞19.4.2門檻 |
| 19.5 | 19.5.1 | 10月21日公告的修補版本 |
上表為10月21日GitLab官方公告版本, 不是保證截至11月3日各分支最新或仍受支援的版本。 實際升級請以GitLab最新安全公告及升級路徑為準。 若使用自訂Ruby,還須另外確認底層修補。
為什麼不能只看到19.4.2就停止更新?
因為19.4.2針對10月12日的 CVE-2026-97229已完成修正, 但無法取代10月21日 CVE-2026-110264所需的19.4.3。 只查看單一CVE的修補表, 容易漏掉稍後公布的安全更新。
Alpine Linux遭攻擊後升級GitLab, 為什麼10月26日仍發現系統有漏洞?
Alpine Linux於2026年10月28日 發布GitLab資安事件說明, 並於10月30日更新恢復進度。 官方指出,攻擊者在10月20日至21日 嘗試利用CVE-2026-97229。
Alpine的GitLab工作程序曾崩潰八次, 其中四次進入部分利用程序, 但沒有找到攻擊者成功執行程式碼的證據。 由於紀錄存在限制, Alpine也不能完全排除入侵可能, 因此選擇以已遭入侵的情境 執行保守的重建與憑證處置。
最關鍵的轉折發生在10月22日: Alpine已升級到GitLab 19.3.6, 但10月26日仍確認存在漏洞。 原因不是官方修補表寫錯, 而是Alpine使用自行建置的容器, 其中Ruby元件未同步套用 GitLab官方套件內的修補。
Alpine Linux已經確認原始碼遭到竄改了嗎?
沒有。Alpine官方指出, 已核對的aports套件庫、 套件及10月21日發布成果 沒有發現遭竄改的證據, 也沒有確認攻擊者成功執行程式碼。 不能把「遭攻擊嘗試」 說成「軟體供應鏈已被植入惡意程式」。
Alpine後續做了什麼處置?
Alpine重新建置GitLab環境、 更新相關元件並更換密碼及機密金鑰, 於10月29日重新開放服務。 這些行動是在無法完全排除風險的前提下, 採取較保守的事故處理方式。
GitLab背後的Ruby、Onigmo才是關鍵? 四項CVE與底層修補版本
Ruby是GitLab重要的開發語言之一, Onigmo則是Ruby使用的規則運算式引擎。 GitLab在處理某些CI/CD設定時, 會將規則運算式交給Ruby編譯。 因此,底層元件的缺陷 有可能透過GitLab功能影響伺服器安全。
Ruby於2026年10月23日正式公告, GitLab先前揭露的四項CVE 均與Ruby規則運算式引擎問題有關。
| CVE編號 | 弱點類型 | 主要問題 |
|---|---|---|
| CVE-2026-89078 | Double Free | 規則運算式解析失敗時的重複釋放記憶體 |
| CVE-2026-93577 | Integer Overflow | 編譯後模式大小計算溢位 |
| CVE-2026-97229 | Integer Overflow | 與CI/CD規則運算式編譯相關 |
| CVE-2026-110264 | Integer Overflow | 大量重複模式造成內部識別碼溢位 |
以上版本及後續適用更新包含 GitLab所列四項相關底層修正。 若使用官方GitLab套件, 通常由其套件提供已修補的Ruby; 自訂容器或原始碼部署則須個別核對。
所有Ruby網站都會受到同樣的RCE威脅嗎?
不能如此推論。Ruby官方指出, 相關問題需要程式將 不可信任的輸入內容 交給規則運算式編譯流程。 是否存在可利用路徑, 取決於應用程式的設計與輸入處理方式。
這次事件的普遍教訓是: 套件的主要版本已更新, 並不代表執行環境所有相依元件 都一定更新完成。
CISA為何將GitLab漏洞列入KEV? 11月1日修補期限適用哪些機關?
美國網路安全暨基礎設施安全局CISA 在10月29日把CVE-2026-97229 收入Known Exploited Vulnerabilities清單。 該清單聚焦已具有 實際遭利用可信證據的弱點, 與只記錄技術描述的CVE資料庫不同。
對適用其相關聯邦資安規範的美國機關, 此項漏洞列有2026年11月1日處置期限, 並須遵循相關風險優先更新及鑑識要求。
台灣企業也必須在11月1日前修補嗎?
不能把美國聯邦機關的KEV處置期限 直接寫成所有台灣企業的法定期限。 不過,CISA確認存在實際利用, 使這項漏洞具備較高處置優先性, 特別是公開連網、自行管理的GitLab環境。
修補後還需要檢查入侵紀錄嗎?
需要依暴露情況評估。 安裝修補程式可以降低後續利用風險, 但不會自動排除 更新前可能已發生的入侵。 如果曾長時間執行未修補版本, 應同步核對CI/CD執行、 系統程序、帳號與異常操作紀錄。
我的GitLab版本符合修補門檻嗎? 同時檢查GitLab及Ruby版本
下方工具依10月21日官方公告 比較已知修補門檻, 並根據部署方式提示是否需要 額外確認Ruby元件。 所有判斷都在瀏覽器本地執行, 不會連線到使用者伺服器, 也不會讀取實際GitLab組態。
GitLab修補狀態參考工具
重要:工具只比較10月21日公告門檻, 不是漏洞掃描或完整安全認證。 即使顯示達標,也須確認官方支援狀態、 最新補丁、套件來源、Ruby實際元件, 以及更新前是否存在入侵跡象。
為什麼自訂容器需要另外檢查Ruby?
GitLab官方已明確提醒, 若使用非官方套件內含的Ruby, GitLab應用程式升級 不一定會同步更新底層引擎。 Alpine Linux的實際案例 就是最具代表性的警訊。
GitLab管理員現在該做什麼? 六步驟確認漏洞修補及入侵風險
對自行部署GitLab的網站公司、 DevOps及IT團隊而言, 應將版本更新、 底層相依元件和事件調查 放在同一份檢查工作中。
需要直接在正式伺服器測試RCE漏洞嗎?
不建議在正式營運環境 透過可能造成程序崩潰的攻擊方式測試。 企業應以官方安全公告、 已驗證的版本與套件清單、 合法授權的弱點檢測 及事件日誌調查為主。
為什麼更新完成仍要保留事件紀錄?
安全更新處理的是已知弱點, 但更新前已發生的未授權操作 仍需獨立調查。 若存在可疑跡象, 應保存相關紀錄, 評估是否需要更換部署金鑰、 存取權杖及其他機密資料。
台灣網站公司與軟體團隊為何要注意? GitLab漏洞可能沿CI/CD擴大影響
一家網站設計公司可能使用GitLab 統一存放不同客戶的網站原始碼, 並透過Runner將程式部署到 測試主機及正式網站。 因此,開發平台的安全狀態 可能與多個客戶服務有關。
如果攻擊者成功取得 GitLab伺服器的高權限執行能力, 可能進一步接觸伺服器 本來就有權限存取的程式碼、 設定、部署環境或憑證。 但實際損害程度取決於 Runner隔離、權限設計及密鑰保護。
檢查多客戶程式碼倉庫、 存取憑證及正式站部署權限。
盤點自建GitLab、 對外存取入口及安全更新狀態。
核對映像來源、 建置日期與實際Ruby版本。
檢查Runner權限、 Pipeline異常及部署密鑰隔離。
這次事件已造成台灣企業程式碼外洩嗎?
截至2026年11月3日, 沒有足夠公開資料 可以確認台灣所有使用GitLab的企業 均已遭到入侵, 也不能從全球未修補統計 推算台灣實際外洩數量。
網站已經有HTTPS及防火牆,還需要檢查GitLab嗎?
需要。網站前台安全與 背後的原始碼管理平台、 CI/CD Runner及部署憑證 屬於不同層次。 即使正式網站正常運作, 開發與發布流程仍應獨立管理權限、 安全更新和異常監測。
GitLab漏洞事件時間軸: 從10月12日修補,到11月2日逾千台暴露
-
GitLab首次安全修補
發布19.4.2、19.3.5及19.2.8,處理CVE-2026-97229。
-
漏洞紀錄正式公開
CVE-2026-97229公布,CVSS v3.1為10.0。
-
Alpine Linux遭遇攻擊嘗試
自建GitLab工作程序發生多次崩潰,尚無成功執行程式碼的證據。
-
GitLab第二波重大安全更新
修補CVE-2026-110264,公布19.5.1、19.4.3等版本。
-
Ruby發布底層修正
推出3.3.13、3.4.12及4.0.9,處理Onigmo相關缺陷。
-
Alpine發現升級後仍有風險
確認自訂GitLab映像並未同步使用已修補Ruby。
-
Alpine公開事件並完成重建
更換密碼及機密金鑰,未發現發布成果遭竄改證據。
-
CISA將CVE-2026-97229列入KEV
官方確認此弱點已遭實際利用。
-
逾千台公開GitLab未修補消息曝光
媒體引用Shadowserver觀測,另一項漏洞亦有11,300多台暴露。
哪些資訊已確認,哪些不能下結論?
| 資訊 | 證據狀態 |
|---|---|
| 第一項CVE評分10.0 | GitLab官方確認 |
| 10月12日已有修補 | GitLab官方確認 |
| CISA10月29日列入KEV | CISA官方確認 |
| 超過1,000台尚未修補 | Shadowserver觀測,11月2日媒體引用 |
| Alpine遭遇攻擊嘗試 | Alpine官方確認 |
| Alpine原始碼被惡意竄改 | 沒有足夠證據支持 |
| 自訂Ruby未更新可留有漏洞 | GitLab、Ruby及Alpine資料支持 |
| 第二項CVE亦達10分 | GitLab官方確認 |
| 兩項未修補台數直接相加 | 不可以,觀測對象可能重疊 |
| 台灣所有GitLab企業受駭 | 沒有足夠公開證據 |
GitLab漏洞、修補版本與Ruby安全12大問題
Q1:GitLab CVE-2026-97229是什麼漏洞?
這是一項與GitLab CI/CD規則運算式編譯相關的整數溢位漏洞,可能在特定條件下讓攻擊者遠端執行任意程式碼,CVSS v3.1評分為10.0。
Q2:GitLab CVE-2026-97229真的有人利用嗎?
是。美國CISA已於2026年10月29日將其加入已知遭利用漏洞(KEV)清單。
Q3:還有多少台GitLab伺服器尚未修補?
2026年11月2日的資安報導引用Shadowserver觀測指出,超過1,000台公開連網GitLab執行個體仍存在CVE-2026-97229相關風險。
Q4:GitLab哪些版本受到CVE-2026-97229影響?
官方列出19.2分支低於19.2.8、19.3分支低於19.3.5,以及19.4分支低於19.4.2的版本受影響。
Q5:GitLab升級到19.4.2就安全了嗎?
19.4.2修補了CVE-2026-97229,但未涵蓋後續CVE-2026-110264的修正。19.4分支至少需要19.4.3處理第二項問題,並應依最新安全公告持續更新。
Q6:CVE-2026-110264與CVE-2026-97229一樣嗎?
不是。兩者是不同CVE,均涉及規則運算式編譯器整數溢位,CVSS同為10.0,但發布時間、影響版本及修補門檻不同。
Q7:Ruby版本需要更新嗎?
使用自訂GitLab建置、非官方容器或自行維護Ruby元件的環境,應特別檢查。Ruby官方指出3.3.13、3.4.12及4.0.9包含相關修正。
Q8:為什麼Alpine Linux升級GitLab後漏洞還存在?
因為其自製容器使用一般Ruby元件,沒有同步套用GitLab官方套件中對Ruby的修正,因此應用程式版本更新不代表底層漏洞已排除。
Q9:Alpine Linux原始碼遭駭客修改了嗎?
Alpine公布的調查沒有發現相關套件庫與檢查範圍內發布成果遭到竄改,也沒有確認攻擊者成功執行程式碼;但因無法完全排除風險,仍重建GitLab環境。
Q10:GitLab.com使用者也需要自己修補嗎?
GitLab官方公告表示GitLab.com已部署相關修補。自行管理GitLab伺服器的組織則須確認自己的版本及部署方式。
Q11:GitLab漏洞會讓網站程式碼或部署密鑰外洩嗎?
若攻擊者成功取得高權限執行能力,可能造成程式碼、系統設定或憑證風險,但影響取決於權限與環境配置,不能直接認定所有系統已經資料外洩。
Q12:企業應如何確認GitLab是否安全?
應核對GitLab版本、Ruby相依元件、安全更新、公開網路存取及事件紀錄;若曾在未修補狀態下遭可疑存取,應進行專業調查並評估憑證輪替與系統重建。
GitLab有安全更新不代表企業已修補: 最容易被忽略的是底層Ruby與部署流程
CVE-2026-97229已被CISA確認遭實際利用, 11月初仍有逾千台公開連網GitLab未修補。 同期另一項CVE-2026-110264 也有大量系統需要更新。 兩項漏洞評分同為10.0, 但發布時間與修補門檻不同。
Alpine Linux事件提醒企業, 對自行編譯與自訂容器環境而言, GitLab應用程式顯示最新版本 仍不等於底層Ruby已經修補。
對台灣網站公司、企業IT及DevOps團隊, 正確的處置是同時核對GitLab版本、 相依元件、公開存取、CI/CD權限 及更新前的可疑紀錄。 已修補不等於曾經入侵, 未修補也不等於已被攻破; 這些都需要分開判斷。
新聞來源與第一手安全公告
-
GitLab|2026年10月12日
Critical Patch Release:19.4.2、19.3.5、19.2.8
第一項漏洞的官方描述、CVSS及首次修補版本。
-
GitLab|2026年10月21日
第二波Critical Patch Release及七分支修補門檻
確認CVE-2026-110264、7個修補版本及非官方Ruby安裝方式注意事項。
-
CVE Program|CVE-2026-110264
官方漏洞紀錄及影響版本
核對整數溢位、CWE-190及CVSS 10.0。
-
Ruby|2026年10月23日
四項GitLab CVE與Onigmo底層修正
確認Ruby 3.3.13、3.4.12及4.0.9的修補資訊。
-
Alpine Linux|2026年10月28日,10月30日更新
GitLab遭攻擊嘗試及自訂容器修補缺口
確認八次工作程序崩潰、未確認成功執行程式碼及重建經過。
-
CISA|2026年10月29日
已知遭利用漏洞清單新增通知
確認CVE-2026-97229於10月29日正式列入KEV。
-
BleepingComputer|2026年11月2日
超過1,000台GitLab伺服器未修補
引用Shadowserver觀測,並區分兩項漏洞的公開暴露數量。
-
Secure.com|2026年11月2日
第一及第二項漏洞的暴露數與Ruby修補風險
補充約39,000個觀測對象與11,300多台第二項漏洞未修補資料。
-
Rapid7|2026年10月13日,10月30日更新
CVE-2026-97229風險與處置建議
協助確認受影響版本、限制暴露的暫時措施及KEV更新。
資料基準:2026年11月3日。 Shadowserver數量為11月初媒體引用觀測, 不等於即時伺服器總數,更不是已入侵數量。 Alpine Linux確認遭攻擊嘗試, 但沒有證據證明攻擊者成功執行程式碼 或發布成果遭到竄改。 企業應依GitLab最新安全公告及實際部署方式 決定修補程序。


