high8.8
CVE-2018-18920
Py-EVM is vulnerable to arbitrary bytecode injection
Impact
Py-EVM v0.2.0-alpha.33 allows attackers to make a vm.execute_bytecode call that triggers computation._stack.values with '"stack": [100, 100, 0]' where b'\x' was expected, resulting in an execution failure because of an invalid opcode. This is reportedly related to "smart contracts can be executed indefinitely without gas being paid."
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | py-evm | <= 0.2.0a33 | none recorded |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Ethereum | Py-Evm | Version 0.2.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/ethereum/py-evm/issues/1448
- https://twitter.com/AlexanderFisher/status/1060923428641878019
- https://twitter.com/NettaLab/status/1060889400102383617
- https://www.reddit.com/r/ethereum/comments/9vkk2g/netta_labs_claim_to_have_found_a_vulnerability_in/e9d3wyx/
- https://github.com/advisories/GHSA-vqgp-4jgj-5j64
- https://nvd.nist.gov/vuln/detail/CVE-2018-18920
- https://github.com/pypa/advisory-database/tree/main/vulns/py-evm/PYSEC-2018-96.yaml
- https://www.reddit.com/r/ethereum/comments/9vkk2g/netta_labs_claim_to_have_found_a_vulnerability_in/e9d3wyx
- https://github.com/pypa/advisory-database/tree/main/vulns/evm-py/PYSEC-2018-155.yaml