Gerçel Sayıların Çözümlenmesinde Bellek Taşması (CVE-2013-4164)

Ruby’de gerçel sayıların çözümlemesinde bir taşma tespit edilmiştir. Bu açık CVE-2013-4164 numaralı CVE tanımlayıcısına atanmıştır.

Ayrıntılar

Bir string’in float değere dönüştürülmesi sonucu ortaya çıkan string bellek taşmasına neden olabilmektedir. Bu açık, segmentasyon aksaması ve olası rasgele kod çalıştırılması vasıtasıyla DOS ataklarının gerçekleştirilmesine yol açabilir. Belirsiz bir kaynaktan gelen girdiyi gerçel sayı değerine dönüştüren (özellikle JSON kullanıldığında) herhangi bir program bu açığa karşı savunmasızdır.

Savunmasız bir kod şuna benzer görünmektedir:

untrusted_data.to_f

Ayrıca harici verilerden gerçel sayı üreten, şunun gibi herhangi bir kod da savunmasızdır:

JSON.parse untrusted_data

Bu hatanın CVE-2009-0689’a benzer olduğuna dikkat ediniz.

Bu hatadan etkilenmiş olan herhangi bir sürümü çalıştıran tüm kullanıcılar, sistemlerini KARARLI bir sürüme güncellemelidirler.

Etkilenen Sürümler

  • Tüm Ruby 1.8 sürümleri
  • Ruby 1.9.3 patchlevel 484’den önceki tüm Ruby 1.9 sürümleri
  • Ruby 2.0.0 patchlevel 353’den önceki tüm Ruby 2.0 sürümleri
  • Ruby 2.1.0 preview2’den önceki tüm Ruby 2.1 sürümleri
  • Trunk revizyonu 43780’den öncesi

Çözümler

Tüm kullanıcıların sistemlerini Ruby 1.9.3 patchlevel 484, Ruby 2.0.0 patchlevel 353 veya Ruby 2.1.0 preview2 sürümüne güncellemeleri önerilir.

Lütfen, Ruby 1.8 serisi ve öncesindeki tüm sürümlerin artık desteklenmediğini göz önünde bulundurunuz. Bunlar için yeni kararlı sürümlerin yayınlanmasına ilişkin bir plan bulunmamaktadır. Desteklenmeyen sürümler için kullanılabilir güvenlik iyileştirmeleri sunmayı garanti etmediğimizden dolayı, söz konusu sürümlerin kullanıcılarına mümkün olan en kısa sürede kararlı bir sürüme güncellemeleri önerilir.

Teşekkür

Bu sorunu rapor ettiği için Charlie Somerville’e teşekkürler!

Geçmiş

  • İlk yayınlanma tarihi: 2013-11-22 04:00:00 UTC
  • İkinci yayınlanma tarihi: 2013-11-22 06:46:00 UTC
  • Üçüncü yayınlanma tarihi: 2013-11-22 22:46:00 UTC