Ruby, Onigmo regex motorundaki üç güvenlik açığını kapatan 4.0.9, 3.4.12 ve 3.3.13 sürümlerini yayımladı. Bu açıklar, GitLab'da saldırganların uzaktan kod çalıştırmasına olanak tanıyan dört kritik zafiyetin temelini oluşturuyordu.
Yazılım ve Uygulamalar
Admin8 okunma

Ruby'nin Onigmo Açıklarını Kapatan Güncellemesi GitLab'ı Etkileyen Dört Kritik RCE Zafiyetini Ortadan Kaldırdı

Ruby, Onigmo regex motorundaki üç güvenlik açığını kapatan 4.0.9, 3.4.12 ve 3.3.13 sürümlerini yayımladı. Bu açıklar, GitLab'da saldırganların uzaktan kod çalıştırmasına olanak tanıyan dört kritik zafiyetin temelini oluşturuyordu.

Ruby'nin Onigmo Açıklarını Kapatan Güncellemesi GitLab'ı Etkileyen Dört Kritik RCE Zafiyetini Ortadan Kaldırdı

Haber detayı

Ruby programlama dili, bünyesinde kullandığı Onigmo düzenli ifade (regex) motorunda tespit edilen üç güvenlik açığını gidermek amacıyla 4.0.9, 3.4.12 ve 3.3.13 sürümlerini duyurdu. Söz konusu açıklar, GitLab'ın geçtiğimiz ay içinde yayımladığı dört kritik uzaktan kod çalıştırma (RCE) zafiyetinin doğrudan kaynağı olarak belirlendi. GitLab, kullanıcılar tarafından sağlanan bir regex deseninin Ruby tarafından derlenmesi sırasında bellek bozulmasına yol açabileceğini ve bunun sunucularında kod yürütülmesiyle sonuçlanabileceğini tespit etti.

Hangi Uygulamalar Risk Altında?​

Ruby'nin güvenlik duyurusuna göre sorun yalnızca GitLab'a özgü değil; saldırganın denetimindeki bir metinden düzenli ifade derleyen her uygulama bu zafiyetten etkilenebilir. Bir uygulamanın risk altında sayılabilmesi için Regexp.new, Regexp.union ya da Regexp.compile gibi yöntemlere güvenilmeyen girdi aktarması ya da /#{input}/ biçiminde interpolasyon kullanması yeterli. Kendi geliştiricileri tarafından yazılmış sabit desenlerle çalışan uygulamalar ise bu güvenlik açığından etkilenmiyor.
Ruby, geçici çözüm olarak güvenilmeyen girdilerden regex derlenmesinin durdurulmasını öneriyor. Bunun yanı sıra iki yaygın önlemin işe yaramadığını da özellikle vurguluyor: Regexp.timeout ayarı bu açıkları engellemez; desen uzunluğunu kısıtlamak da güvenilir bir koruma sağlamaz, zira kısa desenler de zafiyeti tetikleyebilir.

Hangi Ruby Sürümleri Güncellenmeli?​

Üç serinin her biri için ayrı bir güncelleme yayımlandı. Ruby 4.0 kullananların 4.0.9'a, Ruby 3.4 kullananların 3.4.12'ye, Ruby 3.3 kullananların ise 3.3.13'e geçmesi gerekiyor. Aynı hafta yayımlanan 4.0.8 sürümü, CVE-2026-110264 numaralı açık için düzeltme içermediğinden Ruby 4.0 kullanıcılarının doğrudan 4.0.9'a yükseltme yapması önem taşıyor. 3.4.12 ve 3.3.13 ise kendi serilerinde söz konusu üç düzeltmenin tamamını barındıran ilk sürümler olma özelliğini taşıyor.
Ruby 3.2 ve daha eski sürümler için herhangi bir güncelleme planlanmıyor. Ruby 3.2, 1 Nisan 2026 itibarıyla destek ömrünü tamamladı ve 3.2.11 bu serinin son sürümü oldu. Ruby, 3.2 kullananları 3.4 ya da 4.0 sürümüne geçmeye davet ediyor.

Açıklar GitLab'a Nasıl Yansıdı?​

GitLab, CI/CD yapılandırmaları gibi alanlarda kullanıcıların sağladığı regex desenlerini derliyor. Bu desenlerden özel biçimde hazırlanmış olanların Ruby derleme aşamasında bellek bozulmasına neden olduğu belirlendi. GitLab, 23 Eylül ile 21 Ekim tarihleri arasında dört ayrı CVE kaydı oluşturarak her birini yamalı bir Ruby sürümü yayımlayarak kapattı.
23 Eylül'de açıklanan ilk iki zafiyet, oturum açmış bir hesap gerektiriyor ve 10 üzerinden 9,9 şiddet puanıyla değerlendirildi. Ekim ayındaki iki zafiyet ise hesap gerektirmiyor: CVE-2026-97229 (12 Ekim) ve CVE-2026-110264 (21 Ekim) her ikisi de azami şiddet puanı olan 10,0 ile derecelendirildi. CVE-2026-110264, GitLab'ın 7.0 sürümünden bu yana yayımlanan tüm sürümleri etkiliyor. Joaxcar takma adını kullanan bir güvenlik araştırmacısı, dört açığın tamamını GitLab'ın hata ödül programı aracılığıyla bildirdi. 23 Ekim itibarıyla bu dört CVE'nin hiçbiri CISA'nın Bilinen İstismar Edilen Zafiyetler kataloğunda yer almıyordu.

CVE Takibinde Dikkat Edilmesi Gereken Boşluk​

Ruby, şu aşamada bu düzeltmeler için kendi adına CVE tanımlayıcısı talep etmedi. Kullanıcıların konuyu GitLab'ın dört CVE numarası üzerinden takip etmesini önerdi. Bu durum, CVE tabanlı tarama araçları kullananlar için önemli bir boşluk yaratıyor: GitLab'ın CVE kayıtlarında etkilenen ürün olarak yalnızca GitLab adı geçtiğinden, bu kayıtları kurulu Ruby sürümleriyle eşleştirmeye çalışan bir tarayıcının eşleşme bulması mümkün olmuyor. Ruby, geçmişte 2022 ve 2024 yıllarında benzer nitelikteki düzeltmelere CVE numarası atamıştı. Şirket, CVE talep edip etmeyeceği konusundaki kararını duyurusunda güncelleyeceğini belirtti.

GitLab Yöneticileri Ne Yapmalı?​

Kendi altyapısında GitLab çalıştıran yöneticilerin CVE-2026-110264 düzeltmesini içeren sürüme geçmesi gerekiyor. GitLab bu düzeltmeyi 21 Ekim'de yayımladı ve 18.11.13 sürümüne kadar geriye dönük olarak uyguladı. Desteklenen sürümler arasında 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 ve 18.11.13 yer alıyor. GitLab.com zaten yamalı sürümü çalıştırıyor; GitLab Dedicated kiracıları da son dahili sürümlerde herhangi bir işlem yapmasına gerek kalmıyor. GitLab kendi Ruby kopyasını paketleyip orada yamayı uyguladığından, bu sabit sürümlerden birinin kurulması düzeltmeyi otomatik olarak devreye sokuyor. GitLab ayrıca kendi altyapısını yöneten yöneticilerin olası istismar girişimlerine yönelik iz bırakmış olabilecek etkinlikleri araştırmasına yardımcı olmak amacıyla tespit kuralları da yayımladı.

Sıkça Sorulan Sorular​

Ruby'nin bu güncellemesi hangi sürümleri kapsıyor?​

Güncelleme Ruby 4.0.9, 3.4.12 ve 3.3.13 sürümlerini kapsıyor. Ruby 3.2 ve daha eski sürümler destek ömrünü tamamladığından bu seriler için herhangi bir düzeltme yayımlanmayacak.

CVE-2026-110264 neden diğer zafiyetlerden daha kritik sayılıyor?​

CVE-2026-110264, hesap gerektirmeksizin istismar edilebiliyor ve azami şiddet puanı olan 10,0 ile değerlendiriliyor. Bunun yanı sıra GitLab'ın 7.0 sürümünden itibaren yayımlanan tüm sürümleri etkiliyor.

Yalnızca GitLab kullananlar mı bu zafiyetten etkileniyor?​

Hayır. Ruby'nin kendi duyurusuna göre, saldırganın denetimindeki bir metinden düzenli ifade derleyen her uygulama bu açıktan etkilenebilir. GitLab bu durumun somut bir örneği olmakla birlikte tek etkilenen uygulama değil.

Güncelleme yapılamıyorsa hangi geçici önlem alınabilir?​

Ruby, güncelleme yapılamayan durumlarda güvenilmeyen girdilerden regex derlenmesinin durdurulmasını öneriyor. Regexp.timeout ayarı veya desen uzunluğunu kısıtlamak bu açıklar için güvenilir bir koruma sağlamıyor.

Bu açıklar aktif olarak istismar ediliyor mu?​

23 Ekim 2025 itibarıyla dört CVE'nin hiçbiri CISA'nın Bilinen İstismar Edilen Zafiyetler kataloğunda yer almıyordu. Ancak Ruby, CVE tabanlı tarayıcıların bu açıkları Ruby sürümleriyle eşleştiremeyebileceğini vurgulayarak dikkatli olunmasını tavsiye ediyor.

Etiketler

Yorumlar (0)

Yorum yapmak için giriş yapmalısınız.

Geri
Üst