La vulnerabilidad de desbordamiento de enteros en la verificación de seguridad de referencia del lenguaje Move puede provocar una denegación de servicio.

robot
Generación de resúmenes en curso

Análisis de vulnerabilidad de desbordamiento de enteros en la verificación de seguridad de citas del lenguaje Move

Recientemente, se ha descubierto una nueva vulnerabilidad de desbordamiento de enteros en el proceso de verificación de seguridad que utiliza el lenguaje Move. Esta vulnerabilidad se presenta en el paso de referencia_safety de la unidad de código de verificación, involucrando bloques básicos y el mecanismo de seguridad de referencias en el lenguaje Move.

El lenguaje Move realiza una verificación de código antes de ejecutar el bytecode, que se divide en cuatro pasos. La verificación de seguridad de referencias es uno de los aspectos importantes, utilizado para comprobar si existen referencias colgantes y si el acceso a referencias mutables es seguro, entre otros. El proceso de verificación recorre las instrucciones de bytecode de cada bloque básico.

Numen Cyber descubre una vulnerabilidad crítica más en el lenguaje move

Un bloque básico se refiere a una secuencia de código que no tiene instrucciones de bifurcación, excepto la entrada y la salida. El lenguaje Move identifica los bloques básicos al verificar las instrucciones de bifurcación y bucle. La verificación de referencia escaneará las instrucciones en cada bloque básico para determinar la legalidad de las operaciones de referencia.

Numen Cyber descubre exclusivamente una nueva vulnerabilidad crítica en el lenguaje move

El proceso de verificación utiliza la estructura AbstractState para representar el estado, que incluye dos componentes clave: locals y el gráfico de préstamos. La verificación comparará el estado antes y después de la ejecución, combinará los resultados y los propagará a los bloques posteriores.

Numen Cyber descubre una nueva vulnerabilidad crítica en el lenguaje move

La vulnerabilidad se presenta en la función join_. Cuando la suma de la longitud de los parámetros y la longitud de las variables locales supera 256, se produce un desbordamiento de entero debido a la iteración de locals con el tipo u8. Esto puede llevar a que el nuevo mapa de locals sea diferente al anterior, lo que, al ejecutarse de nuevo, provoca el acceso a un índice que no existe, causando una denegación de servicio.

Numen Cyber descubrió exclusivamente otra vulnerabilidad crítica en el lenguaje move

El código PoC provoca un desbordamiento de enteros al establecer parámetros específicos y una cantidad de variables locales, lo que resulta en un acortamiento de la longitud del mapa de locales. Al ejecutarlo nuevamente, se accede a un offset que no existe, lo que finalmente provoca un panic.

Numen Cyber descubre una nueva vulnerabilidad crítica en el lenguaje move

Numen Cyber descubre una vulnerabilidad crítica más en el lenguaje move

Numen Cyber descubre otra vulnerabilidad crítica en el lenguaje move

Numen Cyber descubre exclusivamente otra vulnerabilidad crítica en el lenguaje move

Numen Cyber descubre una nueva vulnerabilidad crítica en el lenguaje move

Numen Cyber descubre otra vulnerabilidad crítica en el lenguaje move

Numen Cyber descubre una vulnerabilidad crítica en el lenguaje move

Numen Cyber descubre una nueva vulnerabilidad crítica en el lenguaje move

Numen Cyber descubre en exclusiva otra vulnerabilidad crítica en el lenguaje move

Numen Cyber descubre una vez más una vulnerabilidad crítica en el lenguaje move

Numen Cyber descubre una vulnerabilidad crítica más en el lenguaje move

Esta vulnerabilidad indica que incluso los lenguajes de tipo estático pueden tener problemas de seguridad. Se recomienda a los diseñadores del lenguaje Move que agreguen más verificaciones de seguridad en tiempo de ejecución, en lugar de depender únicamente de las verificaciones en la fase de validación. También refleja la importancia de la auditoría de código.

MOVE0.2%
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 5
  • Compartir
Comentar
0/400
Web3ExplorerLinvip
· 08-01 00:31
El problema de desbordamiento necesita auditoría ahora
Ver originalesResponder0
SignatureDeniedvip
· 07-30 09:30
La calidad del código necesita mejorar continuamente.
Ver originalesResponder0
WagmiOrRektvip
· 07-29 07:39
La auditoría de código es clave.
Ver originalesResponder0
liquidation_watchervip
· 07-29 07:38
La auditoría debe mantenerse al día
Ver originalesResponder0
WagmiWarriorvip
· 07-29 07:16
Move es realmente peligroso.
Ver originalesResponder0
  • Anclado
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)