La vulnérabilité d'overflow d'entier de validation de sécurité de référence du langage Move peut entraîner un déni de service.

robot
Création du résumé en cours

Analyse des vulnérabilités de débordement d'entier dans les vérifications de sécurité des références du langage Move

Récemment, une nouvelle vulnérabilité de dépassement d'entier a été découverte dans le processus de vérification de la sécurité dans le langage Move. Cette vulnérabilité se manifeste dans l'étape de référence_safety de l'unité de code de vérification, impliquant les blocs fondamentaux et le mécanisme de sécurité des références dans le langage Move.

Le langage Move effectue une vérification de code avant l'exécution du bytecode, qui se divise en quatre étapes. La vérification de la sécurité des références est un élément important, utilisé pour vérifier s'il existe des références suspendues et si l'accès aux références mutables est sécurisé, etc. Le processus de vérification parcourt les instructions de bytecode de chaque bloc de base.

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

Un bloc de base fait référence à 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 vérifiant les instructions de branchement et de boucle. La vérification de la sécurité des références examine les instructions de chaque bloc de base pour déterminer la légalité des opérations de référence.

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

Le processus de validation utilise la structure AbstractState pour représenter l'état, contenant deux composants clés : locals et le graphe d'emprunt. La validation compare les états avant et après l'exécution, fusionne les résultats et les propage aux blocs suivants.

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

Une vulnérabilité se produit dans la fonction join_. Lorsque la somme de la longueur des paramètres et de la longueur des variables locales dépasse 256, une débordement d'entier se produit en raison de l'utilisation de l'itérateur de type u8 pour les locals. Cela peut entraîner un nouveau map de locals différent de l'ancien, ce qui, lors d'une nouvelle exécution, peut aboutir à l'accès à un index inexistant, provoquant un déni de service.

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

Le code PoC déclenche un dépassement d'entier en définissant des paramètres spécifiques et en réduisant le nombre de variables locales, ce qui entraîne une réduction de la longueur de la carte des locaux. Lors d'une nouvelle exécution, l'accès à un offset inexistant déclenche finalement un panic.

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

Découverte exclusive de Numen Cyber d'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

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

Cette vulnérabilité montre que même les langages à typage statique peuvent avoir des problèmes de sécurité. Il est recommandé aux concepteurs du langage Move d'ajouter davantage de contrôles de sécurité à l'exécution, et pas seulement de compter sur les vérifications de la phase de validation. Cela souligne également l'importance de l'audit de code.

MOVE2.3%
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
  • 5
  • Partager
Commentaire
0/400
Web3ExplorerLinvip
· 08-01 00:31
Le problème de débordement nécessite un audit maintenant
Voir l'originalRépondre0
SignatureDeniedvip
· 07-30 09:30
La qualité du code doit continuer à s'améliorer.
Voir l'originalRépondre0
WagmiOrRektvip
· 07-29 07:39
L'audit de code est crucial.
Voir l'originalRépondre0
liquidation_watchervip
· 07-29 07:38
L'audit doit suivre
Voir l'originalRépondre0
WagmiWarriorvip
· 07-29 07:16
Move est vraiment dangereux.
Voir l'originalRépondre0
  • Épingler
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)