CVE-2026-54904
Açıklama
concurrent-ruby, Ruby için modern eşzamanlılık araçlarıdır. 1.3.7 sürümünden önce, mevcut değer Float::NAN olduğunda Concurrent::AtomicReference#update kalıcı bir meşgul yeniden deneme döngüsüne girebilir. Sorun; compare_and_set(old_value, new_value) başarılı olana kadar yeniden deneyen AtomicReference#update, temel atomik takas işlemini denemeden önce old == old_value kontrolü yapan Numeric compare_and_set ve Float::NAN == Float::NAN ifadesinin her zaman yanlış olduğu Ruby NaN semantiği arasındaki etkileşimden kaynaklanmaktadır. Sonuç olarak, bir AtomicReference Float::NAN içerdiğinde, #update çağrısı çağıranın bloğunu tekrar tekrar değerlendirir ve asla geri dönmez. Dışarıdan türetilen sayısal değerleri bir AtomicReference içinde saklayan servislerde bu durum, CPU tükenmesine veya kalıcı istek/iş askıda kalmalarına neden olabilir. Bu güvenlik açığı 1.3.7 sürümünde giderilmiştir.
Nasıl düzeltilir
- rubyconcurrency concurrent_ruby1.3.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| rubyconcurrency concurrent_ruby | v < 1.3.7 | 1.3.7 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.