2026 年 10 月 24 日
Ruby修補正規表示式引擎三項漏洞,牽連GitLab四個重大RCE漏洞
誰該注意使用GitLab或自行開發Ruby應用程式且會動態組出正規表示式的企業,應立即確認Ruby版本並評估升級。
背景與影響
Ruby官方發布4.0.9、3.4.12與3.3.13三個版本,修補內建正規表示式引擎Onigmo中的三個漏洞,這些漏洞正是導致GitLab在過去一個月內接連修補四個重大安全漏洞的根本原因,官方強調只要應用程式會將攻擊者可控制的字串編譯成正規表示式,就可能受到影響。
技術上來說,只要程式使用Regexp.new、Regexp.union、Regexp.compile等函式,或是在字串中以插值方式組出正規表示式樣式,並且該字串內容來自使用者可控制的輸入,就符合受影響條件;僅使用開發者自行撰寫固定樣式的應用程式則不受影響。
GitLab正是因為允許使用者在CI/CD設定中自訂正規表示式樣式,導致惡意樣式在編譯過程中造成記憶體損毀,進而可能被用於遠端執行程式碼;GitLab在9月23日與10月12日、21日分別發布四個CVE,其中兩個無需帳號即可觸發且被評為滿分10分的最高風險等級。
值得注意的是,設定正規表示式逾時或限制樣式長度等常見防護手法,在此類漏洞中皆無法有效阻擋攻擊,顯示問題的根本性;此外Ruby本身並未替這些修補申請獨立的CVE編號,導致僅依賴CVE資料庫進行弱點掃描的工具可能無法偵測到相關風險,企業應格外留意此一盲點。
解決方案
- 立即將Ruby升級至4.0.9、3.4.12或3.3.13等已修補版本。
- 盤點自有Ruby應用程式,確認是否存在以使用者輸入動態組成正規表示式的程式碼。
- 若暫時無法升級,應停止將未信任輸入編譯成正規表示式,作為臨時緩解。
- 不要僅依賴設定逾時或限制樣式長度作為防護手段,這些方法無法阻擋此類漏洞。
- 確認GitLab等第三方系統已套用對應的修補程式,並關注官方後續公告。
- 弱點掃描工具應額外納入GitLab公布的CVE編號進行比對,避免因缺乏Ruby專屬CVE而產生偵測盲點。
參考來源
Ruby Fixes Three Regex Engine Bugs Responsible for Four Critical GitLab RCE Flaws(The Hacker News) →
本則由系統彙整公開資安新聞來源、經自動摘要與整理後產生,解決方案為通則性建議。實際細節與最新資訊請以原始來源及官方公告為準;如需協助評估或修補貴公司的資安風險,歡迎與我們聯繫。
← 回資安日報列表