CVE-2023-30629
Publiée le 2023-04-24 · Dernière modification le 2026-06-17
Les contrats intelligents écrits avec les versions 0.3.1 à 0.3.7 de Vyper sont concernés s'ils utilisent des paramètres `raw_call` spécifiques. Un attaquant peut exploiter cela pour tromper un contrat en lui faisant recevoir une réponse de succès ou d'échec incorrecte, ce qui pourrait lui permettre de contourner des vérifications logiques ou de manipuler l'état du contrat. Cette action peut être exécutée à distance via le réseau, sans aucune authentification ni interaction de l'utilisateur.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- af854a3a-2127-422b-91ae-364da2661108
- af854a3a-2127-422b-91ae-364da2661108
- af854a3a-2127-422b-91ae-364da2661108
- af854a3a-2127-422b-91ae-364da2661108
- af854a3a-2127-422b-91ae-364da2661108
Description officielle du NVD (en anglais)
Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions 0.3.1 through 0.3.7, the Vyper compiler generates the wrong bytecode. Any contract that uses the `raw_call` with `revert_on_failure=False` and `max_outsize=0` receives the wrong response from `raw_call`. Depending on the memory garbage, the result can be either `True` or `False`. A patch is available and, as of time of publication, anticipated to be part of Vyper 0.3.8. As a workaround, one may always put `max_outsize>0`.