CVE-2022-39354

Medium

Description

SputnikVM, also called evm, is a Rust implementation of Ethereum Virtual Machine. A custom stateful precompile can use the `is_static` parameter to determine if the call is executed in a static context (via `STATICCALL`), and thus decide if stateful operations should be done. Prior to version 0.36.0, the passed `is_static` parameter was incorrect -- it was only set to `true` if the call came from a direct `STATICCALL` opcode. However, once a static call context is entered, it should stay static. The issue only impacts custom precompiles that actually uses `is_static`. For those affected, the issue can lead to possible incorrect state transitions. Version 0.36.0 contains a patch. There are no known workarounds.

SeverityMedium
CVSS5.9
Exploit probability—
ProductEvm
PublishedOct 25, 2022
First seenOct 25, 2022
Weakness typeCWE-670CWE-670

How to fix

Update
  • evm_project evm0.36.0 or later

Affected products

ProductAffected versionsFixed in
evm_project evmv < 0.36.00.36.0

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.