FICHE CVE

CVE-2020-37288

Publiée le 2026-10-21 · Dernière modification le 2026-10-22

🇫🇷 EN BREF

Les versions 0.1.0b10 à 0.2.2 de Vyper sont concernées. Vyper est un langage de programmation utilisé pour écrire des contrats intelligents sur la blockchain Ethereum. La faille survient lorsqu'une instruction de retour (return) est placée à l'intérieur d'une boucle « for » dans une fonction interne appelée sur plusieurs niveaux de profondeur, ce qui amène le code compilé à pointer vers une destination mémoire invalide.

Un attaquant peut déclencher ce bug pour provoquer l'échec et l'annulation (revert) d'appels de fonctions spécifiques, entraînant un déni de service partiel pour le contrat affecté. Comme la faille nécessite la présence d'une structure de code très spécifique dans le contrat, elle est difficile à exploiter, à moins que le développeur n'ait justement écrit une boucle profondément imbriquée. L'attaque peut être lancée via le réseau sans authentification ni interaction de l'utilisateur.

CVSS 4.06.3 MOYENNE
Type de faiblesse
Publiée2026-10-21
Dernière modification2026-10-22

DÉTAIL DU VECTEUR CVSS

Vecteur d'attaqueRéseau
Complexité d'attaqueFaible
Prérequis d'attaquePrésent
Privilèges requisAucun
Interaction utilisateurAucune
Confidentialité (système vulnérable)Aucune
Intégrité (système vulnérable)Aucune
Disponibilité (système vulnérable)Faible
Confidentialité (système subséquent)Aucune
Intégrité (système subséquent)Aucune
Disponibilité (système subséquent)Aucune

RÉFÉRENCES

Description officielle du NVD (en anglais)

Vyper from 0.1.0b10 before 0.2.3 generates incorrect code for a return statement inside a for loop in an internal function called two or more internal calls deep, producing an invalid jump destination (stack underflow). Affected contracts revert such calls unnecessarily, which in limited circumstances could enable denial of service against public contracts.