CVE-2023-46247
Təsvir
Vyper, Ethereum Virtual Maşını (EVM) üçün Python tipli ağıllı kontrakt dilidir. Böyük massivlər ehtiva edən kontraktlar, lazım olan slot sayısını 1 vahid az təyin edə bilər. v0.3.8 versiyasından əvvəl, yaddaş dəyişəninin neçə slota ehtiyacı olduğunu müəyyən etmək üçün hesablamada `math.ceil(type_.size_in_bytes / 32)` istifadə olunurdu. Əgər IEEE-754 mantissasında kifayət qədər bit təyin edilibsə, aralıq yüzdən birliq (floating point) mərhələsi yuvarlaqlaşdırma xətasına səbəb ola bilər. Təxminən desək, əgər `type_.size_in_bytes` böyükdürse (> 2**46) və 2-nin qüvvətindən bir qədər kiçikdirsə, hesablama lazım olan slot sayını 1 vahid artıq göstərə bilər. Əgər `type_.size_in_bytes` 2-nin qüvvətindən bir qədər çoxdursa, hesablama lazım olan slot sayını 1 vahid az göstərə bilər. Bu problem 0.3.8 versiyasında düzəldilmişdir.
Necə düzəltmək olar
- vyperlang vyper0.3.8 və ya daha yeni versiya
- vyper0.3.8 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| vyperlang vyper | v < 0.3.8 | 0.3.8 |
| vyperPyPI | v < 0.3.8 | 0.3.8 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.