CVE-2024-24567

Medium

Description

Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. Vyper compiler allows passing a value in builtin raw_call even if the call is a delegatecall or a staticcall. But in the context of delegatecall and staticcall the handling of value is not possible due to the semantics of the respective opcodes, and vyper will silently ignore the value= argument. If the semantics of the EVM are unknown to the developer, he could suspect that by specifying the `value` kwarg, exactly the given amount will be sent along to the target. This vulnerability affects 0.3.10 and earlier versions.

SeverityMedium
CVSS4.8
Exploit probability42. percentile0.5%
ProductVyper
PublishedJan 30, 2024
First seenJan 30, 2024
Weakness typeCWE-754CWE-754

How to fix

Update
  • vyper0.4.0, 0.4.0b1 or later

Affected products

ProductAffected versionsFixed in
vyperlang vyperv ≤ 0.3.10—
vyperPyPIv < 0.4.0, v < 0.4.0b10.4.0, 0.4.0b1

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.