Крейт evm - это чистая реализация виртуальной машины Ethereum на Rust. В крейте `evm` `< 0.31.0` условие опкода `JUMPI` проверяется после п…
Крейт 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` перед обновлением этого. Для других блокчейнов, пожалуйста, убедитесь, что вы следуете процессу хард-форка, прежде чем обновить это.
Код содержит путь в потоке управления, не соответствующий алгоритму, который этот путь должен реализовывать, что приводит к некорректному поведению при каждом прохождении данного пути.
https://cwe.mitre.org/data/definitions/670.html →Открыть в коллекции CWE →