Move language integer overflow vulnerability exposed, referencing security verification risks.

Move Language Reproduces Integer Overflow Vulnerability

Recently, a serious integer overflow vulnerability has been discovered in the Move language. This vulnerability occurs during the reference security validation step and may lead to denial of service attacks. By analyzing this vulnerability in depth, we can gain a deeper understanding of the Move language.

The Move language performs code verification before executing bytecode, which consists of four steps. This vulnerability arises in the reference_safety step. The reference_safety module is responsible for verifying the legality of reference operations, including checking for dangling references and whether mutable reference access is safe.

Numen Cyber exclusive discovery of another high-risk vulnerability in the move language

The verification process is conducted on a per-function basis. For each function, the basic blocks within it are first identified. A basic block is a sequence of consecutive code that may only have branches at the entry and exit points. Then, each basic block is analyzed to generate the state before and after execution, and the state is propagated to subsequent blocks.

Numen Cyber exclusive discovery of another critical vulnerability in the Move language

The status includes two parts of information: locals and borrow graph. Locals record information about local variables, while the borrow graph represents the reference relationships between variables. The analysis process will continuously update this state information.

Numen Cyber exclusively discovered another high-risk vulnerability in the move language

The vulnerability occurs during the state merging process. When the total number of function parameters and local variables exceeds 256, an integer overflow can occur due to using the u8 type to represent the index. This leads to erroneous merged state information, which may trigger a denial of service attack.

Numen Cyber Exclusive Discovery: Another High-Risk Vulnerability in Move Language

Although the Move language has a mechanism to check the number of local variables, it does not consider the number of parameters. This oversight has led to the emergence of vulnerabilities.

Numen Cyber exclusively discovered another high-risk vulnerability in the move language

To trigger this vulnerability, an attacker can construct a looping code block that uses overflow to change the state of the block. When executed again, due to incorrect state information, accessing a non-existent variable will cause the program to crash.

Numen Cyber exclusively discovered another critical vulnerability in the Move language

This vulnerability once again illustrates that even well-designed languages can have security risks. It reminds us of the importance of code auditing and the need for more comprehensive security considerations in language design. For the Move language, adding more checks at runtime may be a direction for improvement.

Numen Cyber exclusively discovers another critical vulnerability in the move language

Numen Cyber exclusively discovers another high-risk vulnerability in the move language

Numen Cyber exclusive discovery of another high-risk vulnerability in the move language

Numen Cyber exclusively discovers another critical vulnerability in the Move language

Numen Cyber exclusively discovered another critical vulnerability in the move language

Numen Cyber exclusively discovered another high-risk vulnerability in the move language

Numen Cyber Exclusive Discovery: Another High-Risk Vulnerability in Move Language

Numen Cyber exclusively discovers another high-risk vulnerability in the move language

Numen Cyber exclusive discovery of another high-risk vulnerability in the move language

MOVE-4.22%
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • 4
  • Repost
  • Share
Comment
0/400
CryptoPhoenixvip
· 08-14 11:11
No need to panic at the bottom range; the road to recovery has just begun... is it worse than the 2018 disaster?
View OriginalReply0
GateUser-a606bf0cvip
· 08-12 07:20
The move is too unstable.
View OriginalReply0
down_only_larryvip
· 08-11 17:32
Why is it move crashing again?
View OriginalReply0
TommyTeacher1vip
· 08-11 17:31
It's time to fix bugs again!
View OriginalReply0
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate App
Community
English
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)