M
MetaLamp | CIS
@metalampru1.6K подп.
1.9Kпросмотров
19 февраля 2026 г.
📷 ФотоScore: 2.1K
❗️❗️❗️ В Solidity баг! Если ты используешь в своих смарт-контрактах: • версию от 0.8.28 до 0.8.33, • --via-ir для промежуточной компиляции Solidity в YUL, • хранение в transient storage, , то тебе срочно нужно задуматься! Ну, или взять на заметку в будущем. Ребята из hexens нашли критическую уязвимость компилятора. Solidity в спешном порядке выкатили версию 0.8.34 с исправлениями. Суть: наличие переменной в transient storage того же типа, что и в обычном storage, при операции очистки transient-слота затирает слот в обычном storage. Если не вдаваться в детали работы компилятора, то под капотом просто происходит коллизия ключей кеша при генерации через --via-ir. В итоге удаляется storage-переменная вместо transient-storage переменной. Никогда не задумывался, но ошибка компилятора затрагивает всех. Независимо от типа протокола, его разработчиков или количества аудитов. Когда transient storage только появился как концепт, мы с коллегой обсуждали мнения разработчиков. Они были неоднозначными: одни считали, что это небезопасно, другие (например, Uniswap) ждали, чтобы использовать это в своих контрактах. Тогда мы решили, что время покажет и, как минимум, одну проблему transient storage уже принёс в наш мир. P.S. Команда компилятора говорит, что сейчас в сети всего три контракта, которые пострадали от этой уязвимости. #павел_найданов 🤟 Сайт | ТГ-канал | Наш чат
1.9K
просмотров
1391
символов
Да
эмодзи
Да
медиа

Другие посты @metalampru

Все посты канала →
❗️❗️❗️ В Solidity баг! Если ты используешь в своих смарт-кон — @metalampru | PostSniper