Description
Vyper before 0.2.6 contains a call stack corruption vulnerability that causes incorrect function outputs when complex types with non-base members are passed as arguments. Contracts passing multi-dimensional arrays or structs to internal or external functions receive corrupted values because the compiler assumed each subtype size is 32.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| vyperlang | vyper | < 0.2.6 | 0.2.6 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | vyper | < 0.2.6 | 0.2.6 | GHSA-4v7v-gqf9-ww2g |
References
- GitHub Security Advisory (GHSA-4v7v-gqf9-ww2g) vendor-advisory
- VulnCheck Advisory: Vyper before 0.2.6 Call Stack Corruption via Complex Type Function Arguments third-party-advisory