CVE-2024-32481

Orta

Təsvir

Vyper, Ethereum virtual maşını üçün Python-vari Smart Kontrakt Dilidir. Versiya 0.3.8-dən başlayaraq və versiya 0.4.0b1-ə qədər olan versiyalarda, `range(start, start + N)` formasında olan bir `range` üzrə dövr qurularkən, əgər `start` mənfidirsə, icra həmişə geri qaytarılacaq (revert). Bu problem, `stmt.parse_For_range()` range kod generasiyası tərəfindən daxil edilmiş yanlış təsdiqləmədən (assertion) qaynaqlanır. Problem `start` imzalı olduqda yaranır; burada `sle` yerinə `le` istifadə olunur və müqayisə zamanı `start` imzalanmamış tam ədəd kimi şərh edilir. Əgər bu mənfi ədəddirsə, onun 255-ci biti `1` olaraq təyin edilir və buna görə də çox böyük imzalanmamış tam ədəd kimi şərh edilərək təsdiqləmənin həmişə uğursuz olmasına səbəb olur. `start`-ın mənfi olma ehtimalı olan imzalı tam ədəd olduğu hər hansı `range(start, start + N)` strukturuna malik kontrakt təsirlənir. Mənfi `start` təmin etməklə dövr vasitəsilə çağırış edildikdə, icra geri qaytarılacaqdır. Versiya 0.4.0b1 problemi aradan qaldırır.

CiddilikOrta
CVSS5.3
İstismar ehtimalı—
MəhsulVyper
Dərc25 apr 2024
İlk görülmə25 apr 2024
Zəiflik növüCWE-681CWE-681

Necə düzəltmək olar

Yeniləyin
  • vyper0.4.0, 0.4.0b1 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
vyperlang vyper0.3.8 ≤ v ≤ 0.3.10, 0.4.0—
vyperPyPI0.3.8 ≤ v < 0.4.0, 0.3.8 ≤ v < 0.4.0b10.4.0, 0.4.0b1

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.

Intelligence 360 paketində

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.

CVE-2024-32481 · Vyper · Dark Radar