id: PYSEC-2024-207 modified: 2025-01-19T19:19:01.605918Z published: 2024-04-25T18:15:08Z aliases: - CVE-2024-32646 - GHSA-r56x-j438-vw5m details: |+ Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. In versions 0.3.10 and prior, using the `slice` builtin can result in a double eval vulnerability when the buffer argument is either `msg.data`, `self.code` or `
.code` and either the `start` or `length` arguments have side-effects. It can be easily triggered only with the versions `<0.3.4` as `0.3.4` introduced the unique symbol fence. No vulnerable production contracts were found. Additionally, double evaluation of side-effects should be easily discoverable in client tests. As such, the impact is low. As of time of publication, no fixed versions are available. affected: - package: ecosystem: PyPI name: vyper purl: pkg:pypi/vyper ranges: - type: ECOSYSTEM events: - introduced: "0" - fixed: 0.4.0 versions: - 0.1.0b1 - 0.1.0b10 - 0.1.0b11 - 0.1.0b12 - 0.1.0b13 - 0.1.0b14 - 0.1.0b15 - 0.1.0b16 - 0.1.0b17 - 0.1.0b2 - 0.1.0b3 - 0.1.0b4 - 0.1.0b5 - 0.1.0b6 - 0.1.0b7 - 0.1.0b8 - 0.1.0b9 - 0.2.1 - 0.2.10 - 0.2.11 - 0.2.12 - 0.2.13 - 0.2.14 - 0.2.15 - 0.2.16 - 0.2.2 - 0.2.3 - 0.2.4 - 0.2.5 - 0.2.6 - 0.2.7 - 0.2.8 - 0.2.9 - 0.3.0 - 0.3.1 - 0.3.10 - 0.3.10rc1 - 0.3.10rc2 - 0.3.10rc3 - 0.3.10rc4 - 0.3.10rc5 - 0.3.2 - 0.3.3 - 0.3.4 - 0.3.5 - 0.3.6 - 0.3.7 - 0.3.8 - 0.3.9 - 0.4.0b1 - 0.4.0b2 - 0.4.0b3 - 0.4.0b4 - 0.4.0b5 - 0.4.0b6 - 0.4.0rc1 - 0.4.0rc2 - 0.4.0rc3 - 0.4.0rc4 - 0.4.0rc5 - 0.4.0rc6 severity: - type: CVSS_V3 score: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N references: - type: ADVISORY url: https://github.com/vyperlang/vyper/security/advisories/GHSA-r56x-j438-vw5m - type: ADVISORY url: https://github.com/advisories/GHSA-r56x-j438-vw5m