Welcome to TechPark Store — check products available near you

Ruby 3.3.13, 3.4.12 ve 4.0.9 için güvenlik güncellemeleri yayımlandı

TECHPARK / DEVELOPMENT / SECURITY

Ruby 3.3.13, 3.4.12 ve 4.0.9 için güvenlik güncellemeleri yayımlandı

23 Ekim 2026 tarihli Ruby sürümleri, düzenli ifade derleme motorundaki önemli hataları gideriyor. GitLab bağlantılı güvenlik açıkları, etkilenen uygulamalar ve güvenli güncelleme adımlarını inceliyoruz.

24 Ekim 2026DevelopmentYaklaşık 7 dakika okuma
23 OCT 2026
Ruby security releases
Ruby 3.3.xSecurity maintenance
v3.3.13 FIXED
Ruby 3.4.xNormal maintenance
v3.4.12 FIXED
Ruby 4.0.xNormal maintenance
v4.0.9 FIXED
Security bulletin / October 2026Regexp / Onigmo

Kısa özet: Ruby ekibi 3.3.13, 3.4.12 ve 4.0.9 sürümlerini 23 Ekim 2026’da yayımladı. Üçü de Ruby’nin Onigmo düzenli ifade motorundaki, GitLab tarafından bildirilen dört CVE ile ilişkili hataların düzeltmelerini içeriyor. Özellikle güvenilmeyen girdilerden dinamik Regexp oluşturan uygulamaların güncellenmesi önemli.

01 / GENEL BAKIŞ

Ruby’nin Ekim 2026 güncellemeleri neden önemli?

Ruby; Ruby on Rails uygulamaları, API servisleri, arka plan işleri ve otomasyon sistemlerinde sıklıkla kullanılıyor. Bu projelerde düzenli ifadeler; metinleri ayıklamak, biçimleri doğrulamak ve kullanıcı tarafından belirlenen kuralları işlemek için tercih edilebiliyor.

23 Ekim duyurusu, yalnızca uygulama kodundan değil, Ruby’nin kendi Regexp derleme mekanizmasından kaynaklanan sorunlara odaklanıyor. GitLab’ın araştırmasına göre özel hazırlanmış desenler belirli koşullarda belleği bozabiliyor ve GitLab sunucularında uzaktan kod çalıştırma riskine dönüşebiliyordu. Ruby ekibi, bu sorunların temelindeki hataları üç desteklenen sürüm serisinde düzeltti.

3×Güncellenen Ruby sürüm serisi
4GitLab tarafından bildirilen ilgili CVE
23Ekim 2026 yayın tarihi

Önemli ayrım: Bu açıklar, uygulama saldırganın denetlediği bir metni düzenli ifade deseni olarak derliyorsa gündeme geliyor. Yalnızca geliştiricilerin yazdığı sabit Regexp desenlerini kullanan uygulamalar bu özel hatalardan etkilenmiyor.

02 / SÜRÜM REHBERİ

Ruby 3.3.13, 3.4.12 ve 4.0.9 ile neler değişti?

Her üç sürüm, duyuruda belirtilen Regexp düzeltmelerinin tamamını içeriyor. Ancak her seride ek değişikliklerin kapsamı ve bakım durumu farklı. Mevcut Ruby ana sürümünde kalarak güvenlik yamasına geçmek genellikle iyi bir ilk adım; ana sürüm değiştirmek ayrıca uyumluluk testi gerektirir.

Ruby 3.3 serisi3.3.13Güvenlik bakımıSürüm notları
Ruby 3.4 serisi3.4.12Normal bakımSürüm notları
Ruby 4.0 serisi4.0.9Normal bakımSürüm notları

Ruby 3.3.13, güvenlik bakımı aşamasındaki 3.3 serisine Regexp düzeltmelerini getiriyor; ayrıca varsayılan resolv gem’ini 0.3.2 sürümüne çıkarıyor. Ruby 3.4.12, ilgili Regexp hatalarına ek olarak diğer hata düzeltmelerini de kapsıyor. Ruby 4.0.9 ise özellikle daha önce 4.0.8’e kadar tamamlanmamış olan tekrar desenleriyle ilişkili son Regexp düzeltmesini içeriyor.

Not: Bunlar 23 Ekim 2026 duyurusundaki güvenlik sürümleridir. Kurulum gününde aynı seri için daha yeni bir yama çıkmışsa desteklenen en son yamayı tercih edin.

03 / GÜVENLİK ANALİZİ

GitLab ile ilişkili Regexp güvenlik açıkları

Ruby’nin kullandığı Onigmo motoru, bir metnin düzenli ifade desenine çevrilmesi sırasında çalışır. GitLab, kullanıcıların belirlediği bazı CI yapılandırma desenlerini Regexp.new ile derlediğinden, kötü niyetli örneklerin bellek sorunlarına neden olabildiği bir kullanım alanı ortaya çıktı.

CVE-2026-89078

Desen ayrıştırmada double free

Alternatif içeren bir desen ayrıştırılırken hata meydana geldiğinde aynı bellek alanının iki kez serbest bırakılmasına neden olan sorun. Düzeltme: 3.3.13 / 3.4.12; Ruby 4.0 serisinde 4.0.0 itibarıyla mevcut.

CVE-2026-93577

Derlenmiş desen boyutunda taşma

Regexp derleme sürecinde ortaya çıkan tamsayı taşması. Düzeltme: 3.3.13 / 3.4.12; Ruby 4.0 serisinde 4.0.8 itibarıyla mevcut.

CVE-2026-97229

CI/CD desen derleyicisi sorunu

GitLab CI/CD senaryolarıyla ilişkili başka bir tamsayı taşması kaydı. Ruby’deki temel hata, bir önceki Regexp boyut taşmasıyla aynı düzeltmeyle gideriliyor.

GELİŞTİRİCİ NOTU

Regexp.timeout tek başına yeterli değil

Resmî Ruby duyurusuna göre Regexp.timeout bu bellek hatalarını önlemiyor. Desen uzunluğunu sınırlamak da her durumda koruma sağlamıyor; güvenilmeyen desenleri derlemekten kaçının.

CVE açıklaması: Bu dört CVE GitLab tarafından kendi ürünündeki bulgular için yayımlandı. Ruby ekibi, ilgili temel hataları düzelttiğini açıklıyor; bunları Ruby’ye ayrıca atanmış dört yeni CVE olarak değerlendirmemek gerekiyor.

04 / EK GÜVENLİK NOTLARI

Resolv güncellemeleri ve uygulama kapsamı

Regexp sorunlarının dışında, Ruby ekosistemindeki DNS çözümleme bileşeni resolv için de ayrı bir güvenlik duyurusu bulunuyor. Özellikle Ruby 3.3.13, varsayılan resolv sürümünü 0.3.2 düzeyine taşıdığı için dikkat çekiyor.

  • CVE-2026-80212: Saldırgan tarafından yönlendirilebilen DNS yanıtlarının, resolv kullanan uygulamalarda belleğin tükenmesine ve servis kesintisine neden olabilmesi.
  • CVE-2026-80213: Çok uzun alan adlarıyla yapılan bazı işlemlerde, doğrulanan ana makine adı ile çözümlenen hedefin farklılaşabilmesi.
  • Ruby 3.3 serisi: Varsayılan resolv 0.3.2, yukarıdaki iki güvenlik açığının düzeltmesini içeriyor.
  • Ruby 3.4 ve 4.0 serileri: Ruby çalışma zamanını Regexp yamaları için güncellemek, projede kullanılan resolv sürümünü güvenli düzeye getirdiğiniz anlamına gelmeyebilir. İlgili gem için 0.7.2 veya üzerini ayrıca doğrulayın.
  • Gerçek maruziyet: Bu DNS açıkları yalnızca Resolv kullanan kod yollarında gündeme gelir; işletim sistemi çözümleyicisiyle çalışan sıradan bağlantıların hepsi aynı şekilde etkilenmez.

Bakım takvimi: Ruby 3.3 güvenlik bakımı aşamasında ve 31 Mart 2027’de desteğinin sona ermesi bekleniyor. Ruby 3.4 ve 4.0 normal bakım döneminde. Ruby 3.2 ise destek dışı; uzun vadede desteklenen bir ana sürüme geçiş planlanmalı.

05 / UYGULAMA REHBERİ

Geliştiriciler için güvenli Ruby güncelleme adımları

Yerel geliştirme ortamında görülen sürüm ile uygulamanın sunucuda, container içinde veya CI/CD iş akışında kullandığı Ruby farklı olabilir. Bu nedenle güncellemeyi her ortamda ayrı doğrulamak gerekir.

01

Aktif Ruby ve Bundler sürümünü kontrol edin

Önce projede hangi Ruby’nin kullanıldığını belirleyin. .ruby-version, Gemfile ve üretim ortamındaki gerçek çalışma zamanını karşılaştırın.

TERMINAL · SÜRÜM KONTROLÜ
# Aktif Ruby sürümünü görüntüle
ruby -v

# Ruby yorumlayıcısının yolunu kontrol et
which ruby

# Projenin Bundler sürümünü kontrol et
bundle -v
02

Mevcut ana seriniz için güvenlik sürümünü yükleyin

rbenv ve güncel ruby-build kullanıyorsanız aşağıdaki örneklerden yalnızca projenize uygun olanı çalıştırın. Farklı bir sürüm yöneticisi kullanıyorsanız o aracın yönergelerini izleyin.

TERMINAL · RBENV ÖRNEKLERİ
# Ruby 3.3 serisini kullanan projeler
rbenv install 3.3.13

# Ruby 3.4 serisini kullanan projeler
rbenv install 3.4.12

# Ruby 4.0 serisini kullanan projeler
rbenv install 4.0.9

# Örnek: Projede 3.4.12 sürümünü seç
rbenv local 3.4.12
ruby -v
03

Gem bağımlılıklarını ve resolv sürümünü denetleyin

Yeni Ruby yorumlayıcısında bundle install çalıştırın. resolv gem’inin gerçekten kullanılan sürümünü kontrol edin; özellikle 3.4 ve 4.0 projelerinde gerekirse Gemfile üzerinden güvenli sürüme geçip kilit dosyasını güncelleyin.

TERMINAL · GEM VE TESTLER
# Bağımlılıkları kur ve doğrula
bundle install
bundle check

# Projedeki resolv sürümünü kontrol et
bundle exec ruby -r resolv -e 'puts Gem.loaded_specs["resolv"]&.version'

# Projenizde tanımlıysa testleri çalıştırın
bundle exec rake test
04

Regexp kullanımını ve güvenilmeyen girdileri gözden geçirin

Kullanıcı ya da dış servis verisinden Regexp.new, Regexp.compile, Regexp.union veya interpolasyonla desen üreten kod yollarını inceleyin. Düzeltmeleri uyguladıktan sonra bile kullanıcı girdilerini doğrudan Regexp olarak derlememek daha güvenlidir.

05

Üretim ortamını güncelleyin ve yeniden doğrulayın

Docker taban imajlarını, uygulama sunucularını ve CI/CD çalıştırıcılarını güncelleyin. Ardından testleri, hata kayıtlarını ve çalışan sürecin Ruby sürümünü doğrulayın. Sadece yerel bilgisayardaki Ruby’nin güncellenmesi üretim ortamını korumaz.

Güvenlik notu: Regexp.timeout bu derleme hatalarına karşı yeterli bir geçici çözüm değildir. Yükseltme mümkün değilse güvenilmeyen kaynaklardan gelen metinleri düzenli ifade deseni olarak derlememek, Ruby ekibinin önerdiği temel önlemdir.

06 / SIK SORULAN SORULAR

Ruby güvenlik güncellemeleri hakkında merak edilenler

Ruby 3.3.13, 3.4.12 veya 4.0.9 sürümüne geçmeli miyim?

Bu sürüm serilerinden birini kullanıyorsanız ilgili güvenlik sürümüne veya aynı seride yayımlanan daha yeni bir yamaya geçmeniz öneriliyor. Geçiş öncesi uygulamanızın ve gem bağımlılıklarınızın uyumluluğunu test edin.

Bu açıklar her Ruby on Rails uygulamasını etkiliyor mu?

Hayır. Duyurudaki Regexp sorunları, saldırganın kontrol ettiği desenlerin Ruby tarafından derlenmesi koşulunda ortaya çıkıyor. Yalnızca geliştiricilerin tanımladığı sabit desenleri kullanan uygulamalar bu özel hatalardan etkilenmiyor.

Regexp.timeout ayarı riski ortadan kaldırıyor mu?

Hayır. Ruby ekibi bu hataların derleme sırasında oluştuğunu, Regexp.timeout ayarının bunlara karşı koruma sağlamadığını açıkça belirtiyor.

Ruby sürümünü yükseltmek resolv açıklarını da giderir mi?

Ruby 3.3.13, varsayılan resolv 0.3.2 güncellemesini içerir. Ruby 3.4 ve 4.0 kullanıyorsanız projenin çözdüğü resolv sürümünü ayrıca kontrol edin; resmî tavsiye bu serilerde resolv 0.7.2 sürümüdür.

GitLab’ın CVE kayıtları Ruby’nin kendi CVE’leri mi?

Bu dört CVE, GitLab tarafından duyurulan ürün güvenlik kayıtlarıdır. Ruby ekibi, bunların dayandığı temel Onigmo hatalarını düzelttiğini belirtiyor; yazının hazırlandığı tarihte Ruby için aynı hatalara ayrıca CVE atandığını açıklamıyor.

07 / KAYNAKLAR

Resmî Ruby sürüm notları ve güvenlik kaynakları

Bu içerik, Ruby ekibinin 23 Ekim 2026 tarihli sürüm duyuruları, Regexp düzeltme açıklaması, resolv güvenlik bildirimi ve sürüm yaşam döngüsü esas alınarak hazırlanmıştır.

© 2025 TechPark. All rights reserved.