V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
← Вернуться к списку
nvd

Evm_project

Уязвимости
4
Эксплуатируемые
0
Критический
1
Высокий
2

Топ продуктов

Топ уязвимостей

CVE-2021-41153Крейт evm - это чистая реализация виртуальной машины Ethereum на Rust. В крейте `evm` `< 0.31.0` условие опкода `JUMPI` проверяется после проверки допустимости назначения. Однако, согласно Geth и OpenEthereum, проверка условия должна происходить до проверки допустимости назначения. Это **высокая** степень серьезности, если вы используете крейт `evm` для основной сети Ethereum. В этом случае вам следует немедленно обновить зависимость вашей библиотеки до версии `0.31.0` или более поздней. Это **низкая** степень серьезности, если вы используете крейт `evm` во Frontier или в автономном блокчейне, поскольку с этой консультацией невозможна никакая эксплуатация безопасности. **Не рекомендуется** обновлять до версии `0.31.0` или более поздней, пока не будут выполнены все обычные приготовления к обновлению цепочки. Если вы используете Frontier или другой Substrate-блокчейн на основе `pallet-evm`, пожалуйста, убедитесь, что вы обновили свою `spec_version` перед обновлением этого. Для других блокчейнов, пожалуйста, убедитесь, что вы следуете процессу хард-форка, прежде чем обновить это.
CVE-2024-21629Rust EVM - это интерпретатор виртуальной машины Ethereum. В `rust-evm` была введена функция под названием `record_external_operation`, позволяющая пользователям библиотеки записывать пользовательские изменения газа. Эта функция может иметь некоторые ложные взаимодействия со стеком вызовов. В частности, во время завершения `CREATE` или `CREATE2`, в случае успешного выполнения подстека, `rust-evm` сначала зафиксирует подсостояние, а затем вызовет `record_external_operation(Write(out_code.len()))`. Если `record_external_operation` впоследствии завершится неудачно, эта ошибка возвращается в родительский стек вызовов вместо `Succeeded`. Тем не менее, фиксация подсостояния уже произошла. Это приводит к тому, что смарт-контракты могут фиксировать изменения состояния, когда вызывающий родительский контракт получает нулевой адрес (что обычно указывает на сбой выполнения). Эта проблема затрагивает только пользователей библиотеки с пользовательской `record_external_operation`, возвращающей ошибки. Проблема исправлена в выпуске 0.41.1. Известных обходных путей не существует.
CVE-2022-39354SputnikVM, также называемый evm, - это Rust-реализация Ethereum Virtual Machine. Пользовательский stateful precompile может использовать параметр `is_static`, чтобы определить, выполняется ли вызов в статическом контексте (через `STATICCALL`), и, таким образом, решить, следует ли выполнять stateful операции. До версии 0.36.0 переданный параметр `is_static` был неверным - он устанавливался в `true` только в том случае, если вызов исходил из прямой операции `STATICCALL`. Однако, как только статический контекст вызова введен, он должен оставаться статическим. Проблема затрагивает только пользовательские precompiles, которые фактически используют `is_static`. Для тех, кого это затронуло, проблема может привести к возможным неправильным переходам состояний. Версия 0.36.0 содержит исправление. Известных обходных путей не существует.
CVE-2021-29511evm - это чистая реализация Ethereum Virtual Machine на Rust. До выхода патча, при выполнении определенных опкодов EVM, связанных с операциями с памятью, которые используют `evm_core::Memory::copy_large`, крейт `evm` может выделять память сверх необходимости, что позволяет злоумышленнику выполнить атаку типа «отказ в обслуживании». Ошибка была исправлена в коммите `19ade85`. Пользователям следует обновиться до `==0.21.1, ==0.23.1, ==0.24.1, ==0.25.1, >=0.26.1`. Обходных путей нет. Пожалуйста, обновите версию вашего крейта `evm`.
Открыть в каталоге с фильтром по вендору →