CVE-2020-37287
Description
A flaw was found in vyper. An attacker interacting with an affected smart contract can cause data corruption and incorrect execution when functions process complex data types, such as multi-dimensional arrays or nested structures. The compiler incorrectly calculates the memory size of these complex argument types, leading to call stack corruption during function calls. As a result, functions receive corrupted values, which can disrupt contract logic and compromise data integrity.
Statement
Red Hat Product Security has determined that this vulnerability does not affect any currently supported Red Hat product. This assessment may evolve based on further analysis and discovery. For more information about this vulnerability and the products it affects, please see the linked references.
Understanding the Weakness (CWE)
Integrity,Availability,Confidentiality
Technical Impact: DoS: Crash, Exit, or Restart; Execute Unauthorized Code or Commands; Read Memory; Modify Memory
If the incorrect calculation is used in the context of memory allocation, then the software may create a buffer that is smaller or larger than expected. If the allocated buffer is smaller than expected, this could lead to an out-of-bounds read or write (CWE-119), possibly causing a crash, allowing arbitrary code execution, or exposing sensitive data.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.