CVE-2023-30541
Açıklama
OpenZeppelin Contracts, güvenli akıllı sözleşme geliştirme için bir kütüphanedir. Uygulama sözleşmesindeki bir fonksiyonun seçicisi (selector), proxy'nin kendi seçicilerinden biriyle çakışırsa bu fonksiyona erişilemeyebilir. Özellikle, çakışan fonksiyon uyumsuz ABI kodlamasına sahip farklı bir imzaya sahipse, proxy calldata üzerinden argümanları çözmeye çalışırken işlemi geri alabilir (revert). Yanlışlıkla meydana gelecek bir çakışmanın olasılığı ihmal edilebilir düzeydedir ancak kasıtlı olarak tetiklenebilir ve kullanılabilirlikte azalmaya neden olabilir. Sorun versiyon 4.8.3 ile düzeltilmiştir. Geçici bir çözüm olarak, bir fonksiyonun bu nedenle erişilemez olduğu görülürse, calldata'nın ABI kod çözme işleminin proxy tarafında başarısız olmayacağı ve fonksiyonun uygun şekilde proxy üzerinden yönlendirileceği şekilde yapılandırılması mümkün olabilir.
Nasıl düzeltilir
- openzeppelin contracts4.8.3 ya da sonraki bir sürüm
- openzeppelin contracts_upgradeable4.8.3 ya da sonraki bir sürüm
- @openzeppelin/contracts4.8.3 ya da sonraki bir sürüm
- @openzeppelin/contracts-upgradeable4.8.3 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| openzeppelin contracts | 3.2.0 ≤ v < 4.8.3 | 4.8.3 |
| openzeppelin contracts_upgradeable | 3.2.0 ≤ v < 4.8.3 | 4.8.3 |
| @openzeppelin/contractsnpm | 3.2.0 ≤ v < 4.8.3 | 4.8.3 |
| @openzeppelin/contracts-upgradeablenpm | 3.2.0 ≤ v < 4.8.3 | 4.8.3 |
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.