CVE-2025-54070

Orta

Təsvir

OpenZeppelin Contracts təhlükəsiz smart kontraktların hazırlanması üçün kitabxanadır. Versiya 5.2.0-dən başlayaraq və versiya 5.4.0-a qədər olan hissədə, `Bytes.sol` kitabxanasının `lastIndexOf(bytes,byte,uint256)` funksiyası aşağıdakı iki şərt ödənildikdə başladılmamış yaddaşa müraciət edə bilər: 1) təqdim edilən bufer uzunluğu boş olduqda (yəni `buffer.length == 0`) və mövqe `2**256 - 1` olmadıqda (yəni `pos != type(uint256).max`). `pos` arqumentindən bufer sərhədləri xaricindəki ixtiyari məlumatlara müraciət etmək üçün istifadə oluna bilər. Bu, əməliyyatın qazın (gas) bitməsinə və ya yanlış indeksin (boş buferin xaricində) qaytarılmasına səbəb ola bilər. Normal şəraitdə `buffer`-ə müraciət üçün bu yanlış nəticənin emalı revert-ə səbəb olar. Tətikləndikdə, funksiya `buffer + 0x20 + pos` ofsetindəki yaddaşı oxuyur. Əgər həmin yerdəki (`buffer`-in xaricindəki) yaddaş axtarış nümunəsi ilə üst-üstə düşərsə, funksiya gözlənilən `type(uint256).max` əvəzinə sərhədlərdən kənar bir indeks qaytaracaqdır. Bu, çağırıcıların bufer sərhədlərinin xaricini göstərən düzgün görünüşlü indeks alması ilə nəticələnən gözlənilməz davranış yaradır. Sərhədləri yoxlamayan və qaytarılan indeksdən istifadə edən sonrakı yaddaş müraciətləri, öz quruluşlarından asılı olaraq potensial təsiri diqqətlə nəzərdən keçirməlidirlər. Boş buferlər üçün bu funksiyanın `type(uint256).max` qaytarmasına güvənən və ya qaytarılan indeksi sərhəd yoxlaması olmadan istifadə edən kodlar təyin olunmamış davranış nümayiş etdirə bilər. İstifadəçilər yamayı almaq üçün versiya 5.4.0-a yüksəltmə etməlidirlər.

CiddilikOrta
CVSS6.9
İstismar ehtimalı—
Məhsul@openzeppelin/contracts
Dərc17 iyl 2025
İlk görülmə17 iyl 2025

Necə düzəltmək olar

Yeniləyin
  • @openzeppelin/contracts5.4.0 və ya daha yeni versiya
  • @openzeppelin/contracts-upgradeable5.4.0 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
@openzeppelin/contractsnpm5.2.0 ≤ v < 5.4.05.4.0
@openzeppelin/contracts-upgradeablenpm5.2.0 ≤ v < 5.4.05.4.0

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-2025-54070 · @openzeppelin/contracts · Dark Radar