Vulnérabilité de dépassement d'entier dans le langage Move : des risques de vérification de sécurité restent présents.

La langue Move présente à nouveau une vulnérabilité critique : le dépassement d'entier peut entraîner un effondrement du Nœud

Récemment, des chercheurs en sécurité ont découvert une nouvelle vulnérabilité de dépassement d'entier lors de l'analyse approfondie d'Aptos Moveevm. Cette vulnérabilité existe dans le processus de vérification de la sécurité des références du langage Move, ce qui pourrait entraîner un crash du Nœud.

Numen Cyber a découvert une nouvelle vulnérabilité critique dans le langage move

Le langage Move effectue une vérification du code avant l'exécution du bytecode, divisée en 4 étapes. Cette vulnérabilité se produit dans l'étape reference_safety. Cette étape est principalement utilisée pour vérifier la sécurité des références, y compris la vérification de l'existence de références nulles et la sécurité d'accès aux références mutables, etc.

Numen Cyber a découvert une autre vulnérabilité critique dans le langage move

Le processus de vérification parcourra chaque bloc de base et procédera à son analyse. Un bloc de base désigne une séquence de code sans instructions de branchement, à l'exception des entrées et des sorties. Le langage Move identifie les blocs de base en recherchant des instructions de branchement et de boucle.

Numen Cyber a découvert une nouvelle vulnérabilité critique dans le langage move

Lors de la vérification de la sécurité des références, une structure AbstractState est maintenue, contenant des informations sur le graphique d'emprunt et les locaux. Le processus de vérification exécutera le code des blocs fondamentaux, générera l'état après exécution, puis fusionnera cet état avec l'état avant exécution, mettra à jour l'état du bloc et le propagera aux blocs suivants.

Numen Cyber a découvert une autre vulnérabilité critique dans le langage move

Une vulnérabilité se trouve dans la fonction join_. Cette fonction est utilisée pour fusionner l'état avant et après l'exécution, mettre à jour les locaux et le graphique des emprunts. Lorsque la somme de la longueur des paramètres et de la longueur des variables locales dépasse 256, l'utilisation du type u8 pour itérer sur les locaux peut entraîner un débordement d'entier.

Numen Cyber a découvert une autre vulnérabilité critique dans le langage move

Numen Cyber a découvert une autre vulnérabilité critique dans le langage move

Numen Cyber a découvert une nouvelle vulnérabilité critique dans le langage move

Numen Cyber a découvert une nouvelle vulnérabilité critique dans le langage move

Numen Cyber a découvert une autre vulnérabilité critique dans le langage move

Numen Cyber a découvert une nouvelle vulnérabilité critique dans le langage move

Numen Cyber a découvert une autre vulnérabilité critique dans le langage move

Numen Cyber a découvert une autre vulnérabilité critique dans le langage move

Numen Cyber a découvert une autre vulnérabilité critique dans le langage move

Numen Cyber a découvert une autre vulnérabilité critique dans le langage move

L'utilisation de ce débordement peut modifier l'état du bloc de base. Dans le cas de code avec des boucles, l'exécution répétée du même bloc de base peut accéder à des indices locaux inexistants, provoquant ainsi un panic entraînant l'effondrement du Nœud.

Les chercheurs ont fourni un code PoC qui déclenche un dépassement d'entier en configurant des paramètres spécifiques et un nombre de variables locales, entraînant finalement un panic.

Numen Cyber a découvert une nouvelle vulnérabilité critique dans le langage move

Cette vulnérabilité révèle que même des langages axés sur la sécurité comme Move peuvent avoir des failles. Il est conseillé aux concepteurs du langage Move d'ajouter davantage de vérifications de sécurité à l'exécution, au lieu de se fier uniquement aux contrôles de la phase de validation. Cela souligne également l'importance de l'audit de code.

MOVE2.27%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 2
  • Reposter
  • Partager
Commentaire
0/400
BlockchainDecodervip
· 08-08 08:49
La vérification des citations est trop fragile
Voir l'originalRépondre0
Hash_Banditvip
· 08-06 01:22
Les problèmes de sécurité doivent être pris au sérieux.
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)