CVE-2026-97853
Açıklama
ericmj decimal kütüphanesindeki Aşırı Boyut Değeri ile Bellek Tahsisi zafiyeti, Hizmet Reddine (Denial of Service) olanak tanır. Decimal.round/3, bağlam hassasiyeti (varsayılan olarak 34 hane) uygulanmadan önce istenen ondalık basamak sayısı için tam sonucu oluşturur; bu nedenle maliyeti sonucun boyutuyla değil, places argümanıyla birlikte artar. Pozitif places değerleri için, tamsayıya dönüştürmeden önce katsayıya bir charlist olarak places kadar sıfır ekler ve negatif places değerleri için -places kadar sıfırdan oluşan bir charlist oluşturur. Decimal.round(Decimal.new("1.5"), -50_000_000) gibi tek bir çağrı yaklaşık 5.5 GB bellek tahsis eder, bu da mevcut belleği tüketebilir ve BEAM VM'in sonlandırılmasına neden olabilir. Daha eski sürümler ise her ondalık basamak için bir kez döngü kurarak places ile orantılı şekilde CPU tüketir. Kullanıcı tarafından sağlanan ondalık basamak sayısını veya ölçeği herhangi bir sınırlandırma olmaksızın Decimal.round/2 veya Decimal.round/3 fonksiyonlarına aktaran tüm uygulamalar risk altındadır. CVE-2026-32686 için eklenen giriş sınırları places argümanını kapsamamaktadır. Bu sorun, 0.1.0 sürümünden 3.1.2 öncesine kadar olan decimal sürümlerini etkilemektedir.
Nasıl düzeltilir
- ericmj decimal3.1.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| ericmj decimal | 0.1.0 ≤ v < 3.1.2, 05bb73eb40ddef24eda782d905766f56a3660522 | 3.1.2 |
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.