CVE-2024-24563 in VyperИнформация

Сводка

по VulDB • 30.06.2026

Vyper — это язык смарт-контрактов с синтаксисом Python для виртуальной машины Ethereum (EVM). Массивы могут индексироваться знаковыми целыми числами, хотя они определены только для беззнаковых целых чисел. Проверка типов не выдает ошибку при обнаружении использования `int` в качестве индекса массива. Система проверки типов допускает использование знаковых целых чисел в качестве индексов массивов. Уязвимость присутствует во всех версиях, включая `0.3.10`, и проявляется в различных формах. Для типа int используется представление дополнения до двух (2's complement). Поскольку массив был объявлен очень большим, проверка границ пройдет успешно: отрицательные значения будут просто представлены как очень большие числа. На момент публикации исправленная версия отсутствует.

Существует три потенциальных класса уязвимостей: непредсказуемое поведение, доступ к недоступным элементам и отказ в обслуживании (DoS). Класс 1: Если возможно индексировать массив отрицательным целым числом без отката транзакции (revert), это, скорее всего, не было предусмотрено разработчиком, и такие обращения могут привести к непредсказуемому поведению контракта. Класс 2: Если контракт имеет инвариант в форме `assert index = x`, который должен быть доступен, то использование отрицательных индексов может позволить обойти эту проверку. Класс 3: Если индекс зависит от состояния контракта, это создает риск отказа в обслуживании. Если состояние контракта можно манипулировать таким образом, чтобы индекс был принудительно сделан отрицательным, обращение к массиву всегда будет приводить к откату (revert) (поскольку маловероятно, что массив объявлен экстремально большим). Однако все эти сценарии крайне маловероятны. Наиболее вероятное поведение — это откат на этапе проверки границ.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Ответственный

GitHub, Inc.

Резервировать

25.01.2024

Раскрытие

07.02.2024

Модерация

принято

Вход

VDB-253130

EPSS

0.01539

KEV

Нет

Деятельности

Очень низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!