CVE-2023-34459

Orta

Təsvir

OpenZeppelin Contracts ağıllı kontraktların hazırlanması üçün kitabxanadır. Versiya 4.7.0-dan başlayaraq və versiya 4.9.2-dək olan versiyalarda, `verifyMultiProof`, `verifyMultiProofCalldata`, `procesprocessMultiProof` və ya `processMultiProofCalldat` funksiyaları istifadə edildikdə, ixtiyari yarpaqlar çoxluğu üçün etibarlı multiproof saxtalaşdırılmasına imkan verən merkle ağacları qurmaq mümkündür. Əgər kontrakt yoxlama üçün multiproof-lardan istifadə edirsə və emal olunan merkle ağacı dərinlik 1-də (birbaşa kökdən aşağıda) dəyəri 0 olan düyün ehtiva edirsə, həmin kontrakt zəifliyə malik ola bilər. Yarpaqlar heşlənmədiyi təqdirdə, bu, 3 və ya daha az yarpağı olan balanslaşdırılmış ağaclarda qeyri-ixtiyari şəkildə baş verə bilər. Bədniyyətli ağac qurucusu belə bir düyünü ağaca daxil etdikdə isə bu, qəsdən baş verə bilər. Kontrakt tək yarpaqlı sübutlandırmadan (`verify`, `verifyCalldata`, `processProof` və ya `processProofCalldata`) istifadə edirsə və ya heşlənmiş yarpaqları olan məlum bir ağacla multiproof-lardan istifadə edirsə, o, zəifliyə malik deyil. @openzeppelin/merkle-tree kitabxanası ilə istehsal edilən və ya təsdiqlənən standart merkle ağacları təhlükəsizdir. Problem versiya 4.9.2-də aradan qaldırılıb. Bəzi müvəqqəti həll yolları mövcuddur. Multiproof-lardan istifadə edənlər üçün: Merkle ağaclarını qurarkən yarpaqları heşləyin və ağaclarınıza boş düyünlər əlavə etməyin. @openzeppelin/merkle-tree paketinin istifadəsi bu problemi aradan qaldırır. Ağacın ən azı birinci səviyyəsini yenidən qurmadan istifadəçi tərəfindən təqdim edilən merkle köklərini qəbul etməyin. Merkle ağacının strukturunu yarpaqlardan yenidən quraraq yoxlayın.

CiddilikOrta
CVSS5.3
İstismar ehtimalı—
MəhsulOpenzeppelin Contracts
Dərc16 iyn 2023
İlk görülmə16 iyn 2023
Zəiflik növüCWE-354CWE-354

Necə düzəltmək olar

Yeniləyin
  • openzeppelin contracts4.9.2 və ya daha yeni versiya
  • openzeppelin contracts_upgradeable4.9.2 və ya daha yeni versiya
  • @openzeppelin/contracts4.9.2 və ya daha yeni versiya
  • @openzeppelin/contracts-upgradeable4.9.2 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
openzeppelin contracts4.7.0 ≤ v < 4.9.24.9.2
openzeppelin contracts_upgradeable4.7.0 ≤ v < 4.9.24.9.2
@openzeppelin/contractsnpm4.7.0 ≤ v < 4.9.24.9.2
@openzeppelin/contracts-upgradeablenpm4.7.0 ≤ v < 4.9.24.9.2

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-2023-34459 · Openzeppelin Contracts · Dark Radar