CVE-2022-39354

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-39354
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-39354.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-39354
Aliases
Published
2022-10-25T00:00:00Z
Modified
2025-10-21T02:36:06Z
Severity
  • 5.9 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N CVSS Calculator
Summary
evm has incorrect is_static parameter for custom stateful precompiles
Details

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.

References

Affected packages

Git /

Affected ranges

Database specific

unresolved_versions

[
    {
        "type": "",
        "events": [
            {
                "introduced": "0"
            },
            {
                "fixed": "0.36.0"
            }
        ]
    }
]