CVE-2023-46247
Açıklama
Vyper, Ethereum Virtual Machine (EVM) için Python tabanlı bir Akıllı Sözleşme Dilidir. Büyük diziler içeren sözleşmeler, ihtiyaç duydukları slot sayısını 1 eksik tahsis edebilir. v0.3.8 sürümünden önce, bir depolama değişkeninin kaç slot gerektirdiğini belirlemek için kullanılan hesaplama `math.ceil(type_.size_in_bytes / 32)` işlemini kullanıyordu. Ara yüzen nokta adımı, IEEE-754 mantissasında yeterli bit ayarlanmışsa yuvarlama hatasına neden olabilir. Kabaca ifade etmek gerekirse, eğer `type_.size_in_bytes` büyükse (> 2**46) ve 2'nin bir kuvvetinden biraz küçükse, hesaplama gereken slot sayısını 1 fazla tahmin edebilir. Eğer `type_.size_in_bytes` 2'nin bir kuvvetinden biraz fazlaysa, hesaplama gereken slot sayısını 1 eksik tahmin edebilir. Bu sorun 0.3.8 versiyonunda düzeltilmiştir.
Nasıl düzeltilir
- vyperlang vyper0.3.8 ya da sonraki bir sürüm
- vyper0.3.8 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| vyperlang vyper | v < 0.3.8 | 0.3.8 |
| vyperPyPI | v < 0.3.8 | 0.3.8 |
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.