跳到正文
CVE news(thehackernews.com)·· 4 天前精選AI 評分77

Ruby 修正三項正規表示式引擎漏洞,緩解 GitLab 四項 RCE 漏洞

Ruby Fixes Three Regex Engine Bugs Responsible for Four Critical GitLab RCE Flaws

AI 導讀

Ruby 於 2026 年 10 月釋出 4.0.9、3.4.12、3.3.13 版,修復三項 Onigmo 正規表示式引擎漏洞,進而緩解 GitLab 近期報告的四項 RCE 漏洞。

推薦理由

瞭解 Ruby 內部正規表示式引擎漏洞如何影響 GitLab,並掌握升級與防禦措施,協助維運人員快速評估風險。

正文 · AI 翻譯

Swati KhandelwalOct 23, 2026漏洞 / 軟體安全

Ruby 已釋出 4.0.9、3.4.12 與 3.3.13 版本,以修復 Onigmo(語言內建的正規表示式引擎)中的三個錯誤。這些錯誤隱藏於四個關鍵安全缺陷,GitLab 在過去一個月已修補。

GitLab 發現,一個特製的模式在 Ruby 編譯時可能會破壞記憶體,進而可能導致在其伺服器上執行程式碼。

Ruby 表示,任何從攻擊者控制的文字建立正規表示式的應用程式都受影響,而不僅限於 GitLab。

哪些應用程式受影響

在 其安全通告 中,Ruby 表示,只有在應用程式從攻擊者控制的字串編譯正規表示式時才受影響。這種情況發生於程式將該字串傳遞給 Regexp.new、Regexp.union 或 Regexp.compile,或透過插值將其放入模式中,例如 /#{input}/。

僅使用自身開發者編寫的正規表示式的應用程式不受影響。

Ruby 在 4.0.9、3.4.12 與 3.3.13 版本中修復了這些錯誤。3.4.12 與 3.3.13 版本是其系列中首次包含任一修正的版本。

同一週的較早版本 4.0.8 未包含其中一個缺陷(CVE-2026-110264)的修復,因此 4.0 使用者應安裝 4.0.9。

Ruby 3.2 及更早版本將不再獲得修復。Ruby 3.2 已於 2026 年 4 月 1 日停止支援,3.2.11 為其最後一次發布。Ruby 建議升級至 3.4 或 4.0。

若尚無法升級,安全通告建議停止從不受信任的輸入編譯正規表示式。

兩項看似有效的防禦措施其實無效。設定 Regexp.timeout 並不能阻止這些錯誤。限制模式長度也不可靠,因為短模式仍能觸發錯誤。

這些錯誤如何影響 GitLab

GitLab 編譯使用者提供的正規表示式,例如 CI/CD 設定中的模式。它發現,精心設計的模式在 Ruby 編譯時可能破壞記憶體,並於 9 月 23 日 至 10 月 21 日 之間釋出四項 CVE,透過發布已修補的 Ruby 來修復。

前兩項於 9 月 23 日公佈,均需要登入帳號,評分為 10 分中的 9.9。來自 10 月 的兩項,CVE-2026-97229(12 日)和 CVE-2026-110264(21 日),不需要帳號,評分為 10.0(最高)。CVE-2026-110264 影響 7.0 以後的所有 GitLab 版本。

使用暱稱 joaxcar 的研究員透過 GitLab 的漏洞賞金計畫報告了全部四項。至 10 月 23 日,四項都未列入 CISA 的已知被利用漏洞目錄。

目前尚未有 Ruby CVE

Ruby 表示,這些修復「至少目前」尚未自行申請 CVE 識別碼,並建議使用者改以 GitLab 的四項 CVE 編號追蹤問題。

這就使得依據 CVE 進行掃描的人留下空白。GitLab 的 CVE 記錄只列出 GitLab 為受影響產品,因而掃描工具若將其與已安裝的 Ruby 版本對照,將無法匹配到任何專案。

Ruby 之前已將此類缺陷視為漏洞,並在 2022 與 2024 針對修復分配了 CVE 號碼,儘管長期以來從不受信任的輸入建立正規表示式一直不安全。

其 檔案 仍將不受信任的模式僅描述為拒絕服務風險。Ruby 表示,如果需要任何 CVE 識別碼,它將更新其建議。

針對 GitLab 管理員

自行管理的 GitLab 例項需要修復 CVE-2026-110264 的版本。GitLab 已釋出 於 10 月 21 日,並回移植至 18.11.13 版本。

  • 19.5.1
  • 19.4.3
  • 19.3.6
  • 19.2.9
  • 19.1.9
  • 19.0.10
  • 18.11.13

GitLab.com 已經執行了已修補的版本,GitLab 表示,最近內部發布的 GitLab Dedicated 租戶不需要任何操作。由於 GitLab 包含自己的 Ruby 副本並已在其中修補,安裝其中一個已修復的版本即可套用修補。

GitLab 還發布了 偵測規則 供自行管理的管理員用於搜尋利用嘗試的跡象。

覺得這篇文章有趣嗎? 請在 Google News、Twitter 與 LinkedIn 上追蹤我們,以閱讀更多我們發布的獨家內容。

來源: CVE news (thehackernews.com)
開啟原文