CVE-2025-54070
Açıklama
OpenZeppelin Contracts, güvenli akıllı sözleşme geliştirme için bir kütüphanedir. 5.2.0 sürümünden itibaren ve 5.4.0 sürümünden önce, `Bytes.sol` kütüphanesinin `lastIndexOf(bytes,byte,uint256)` fonksiyonu aşağıdaki iki koşul sağlandığında başlatılmamış belleğe erişebilir: 1) sağlanan arabellek uzunluğu boşsa (yani `buffer.length == 0`) ve konum `2**256 - 1` değilse (yani `pos != type(uint256).max`). `pos` argümanı, arabellek sınırlarının dışındaki rastgele verilere erişmek için kullanılabilir. Bu durum, işlemin gazının tükenmesine veya geçersiz bir dizin (boş arabelleğin dışında) döndürmesine yol açabilir. `buffer` öğesine erişmek için bu geçersiz sonucun işlenmesi, normal koşullar altında bir geri alınamaya (revert) neden olur. Tetiklendiğinde, fonksiyon `buffer + 0x20 + pos` uzaklığındaki belleği okur. Bu konumdaki bellek (`buffer` dışında) arama deseniyle eşleşirse, fonksiyon beklenen `type(uint256).max` yerine sınırların dışında bir dizin döndürür. Bu durum, çağıranların arabellek sınırlarının dışını işaret eden geçerli görünümlü bir dizin almasına neden olan beklenmeyen bir davranış yaratır. Sınırları kontrol etmeyen ve döndürülen dizini kullanan sonraki bellek erişimleri, kurulumlarına bağlı olarak olası etkiyi dikkatlice gözden geçirmelidir. Bu fonksiyonun boş arabellekler için `type(uint256).max` döndürmesine güvenen veya döndürülen dizini sınır kontrolü yapmadan kullanan kod, tanımsız davranış sergileyebilir. Kullanıcılar bir yama almak için 5.4.0 sürümüne yükseltmelidir.
Nasıl düzeltilir
- @openzeppelin/contracts5.4.0 ya da sonraki bir sürüm
- @openzeppelin/contracts-upgradeable5.4.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| @openzeppelin/contractsnpm | 5.2.0 ≤ v < 5.4.0 | 5.4.0 |
| @openzeppelin/contracts-upgradeablenpm | 5.2.0 ≤ v < 5.4.0 | 5.4.0 |
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.