# Move言語に再び高危険な脆弱性: 整数オーバーフローがノードのクラッシュを引き起こす可能性最近、安全研究者がAptos Moveevmを詳しく分析している際に、新しい整数オーバーフローの脆弱性を発見しました。この脆弱性はMove言語の参照セキュリティ検証プロセスに存在し、ノードのクラッシュを引き起こす可能性があります。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-bde089e8295c5d7b9420c93ad5d47b35)Move言語はバイトコードを実行する前にコード検証を行い、4つのステップに分かれています。この脆弱性はreference_safetyステップに現れます。このステップは主に参照の安全性を検証するために使用され、空の参照が存在するか、可変参照アクセスが安全かどうかを確認することが含まれます。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-eb6397a8a98b556071724d98a4837b59)検証プロセスは各基本ブロックを巡回して分析を行います。基本ブロックとは、エントリとエグジットを除いて分岐命令がないコードのシーケンスを指します。Move言語は分岐命令とループ命令を探すことで基本ブロックを識別します。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-6952376046c901dfae2b19d5144746b5)引用の安全性を検証する際、borrow graphとlocals情報を含むAbstractState構造体を維持します。検証プロセスでは基本ブロックコードを実行し、実行後のstateを生成し、それを実行前のstateと統合してブロックの状態を更新し、後続のブロックに伝播します。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-92892f2a9dffea9f805f3a1952e82703)バグはjoin_関数に現れます。この関数は、実行前後のstateをマージし、localsとborrow graphを更新するために使用されます。パラメータの長さとローカル変数の長さの合計が256を超えると、u8型でlocalsを反復処理するため、整数オーバーフローが発生します。! [Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-1347ef8b31983109babdf8ef29270c67)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-ac937ab4f426d30a476feb32520a95b4)! [Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-a18dcf64108d1a75b728ffe8391100f1)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-7c8fe4e4cf376ad49d729a6f80df6f08)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-c598d61833550ec5494f9a5a4ee2a760)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-12c60c225a5629f6d927982a7585fc5b)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-94b0c97bb9e287ed715cddb5165f129d)! [Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-095e2b585c45a86b0a689214ca673619)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-5ebaa03263f7a87edd78d146c5beadd2)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-fe905356cbee596e8aba08ec14f5d508)このオーバーフローを利用して、基本ブロックの状態を変更できます。ループのあるコードでは、同じ基本ブロックを何度も実行すると、存在しないローカルインデックスにアクセスしてpanicが発生し、ノードがクラッシュする可能性があります。研究者は特定のパラメータとローカル変数の数を設定することで整数オーバーフローを引き起こし、最終的にpanicを引き起こすPoCコードを提供しました。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-ae25cc7d31726e2e1477e6d112b7aa75)この脆弱性は、Moveのようにセキュリティを重視する言語でも脆弱性が存在する可能性があることを明らかにしています。Move言語の設計者には、実行時にさらなるセキュリティチェックを追加することをお勧めします。検証段階のチェックだけに依存するのではなく、同時にコード監査の重要性も示しています。
Move言語の整数オーバーフロー脆弱性:参照セキュリティ検証にリスクが存在する
Move言語に再び高危険な脆弱性: 整数オーバーフローがノードのクラッシュを引き起こす可能性
最近、安全研究者がAptos Moveevmを詳しく分析している際に、新しい整数オーバーフローの脆弱性を発見しました。この脆弱性はMove言語の参照セキュリティ検証プロセスに存在し、ノードのクラッシュを引き起こす可能性があります。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
Move言語はバイトコードを実行する前にコード検証を行い、4つのステップに分かれています。この脆弱性はreference_safetyステップに現れます。このステップは主に参照の安全性を検証するために使用され、空の参照が存在するか、可変参照アクセスが安全かどうかを確認することが含まれます。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
検証プロセスは各基本ブロックを巡回して分析を行います。基本ブロックとは、エントリとエグジットを除いて分岐命令がないコードのシーケンスを指します。Move言語は分岐命令とループ命令を探すことで基本ブロックを識別します。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
引用の安全性を検証する際、borrow graphとlocals情報を含むAbstractState構造体を維持します。検証プロセスでは基本ブロックコードを実行し、実行後のstateを生成し、それを実行前のstateと統合してブロックの状態を更新し、後続のブロックに伝播します。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
バグはjoin_関数に現れます。この関数は、実行前後のstateをマージし、localsとborrow graphを更新するために使用されます。パラメータの長さとローカル変数の長さの合計が256を超えると、u8型でlocalsを反復処理するため、整数オーバーフローが発生します。
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
このオーバーフローを利用して、基本ブロックの状態を変更できます。ループのあるコードでは、同じ基本ブロックを何度も実行すると、存在しないローカルインデックスにアクセスしてpanicが発生し、ノードがクラッシュする可能性があります。
研究者は特定のパラメータとローカル変数の数を設定することで整数オーバーフローを引き起こし、最終的にpanicを引き起こすPoCコードを提供しました。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
この脆弱性は、Moveのようにセキュリティを重視する言語でも脆弱性が存在する可能性があることを明らかにしています。Move言語の設計者には、実行時にさらなるセキュリティチェックを追加することをお勧めします。検証段階のチェックだけに依存するのではなく、同時にコード監査の重要性も示しています。