BitsLab, bajo TonBit, ha descubierto nuevamente una vulnerabilidad crítica en la Máquina virtual TON y ha recibido agradecimientos oficiales de TON.

robot
Generación de resúmenes en curso

Autor: TonBit

Introducción:

BitsLab, bajo TonBit, ha descubierto nuevamente una vulnerabilidad crítica en la máquina virtual TON y ha recibido agradecimientos oficiales de TON: la instrucción INMSGPARAM no realiza una verificación de punteros nulos al procesar los parámetros del mensaje, lo que puede provocar un colapso de la máquina virtual TON.

Enlace de detalles sobre la corrección de vulnerabilidades y agradecimientos oficiales de TON TonBit:

Recientemente, TonBit, una subsidiaria de BitsLab, ha descubierto una grave vulnerabilidad de seguridad en el último código fuente de TVM (rama master / TON v2025.04): la instrucción INMSGPARAM no realiza la verificación de punteros nulos al procesar parámetros de mensajes, lo que puede provocar el fallo de la máquina virtual TON. Esta vulnerabilidad también está oculta en el proceso de llamadas profundas de TVM, y un atacante podría construir parámetros de mensaje especiales que provoquen una desreferencia de puntero nulo durante la ejecución de la VM, lo que resultaría en una interrupción de la ejecución y afectaría gravemente la disponibilidad y estabilidad de la ejecución de contratos. El siguiente contenido conserva los detalles técnicos, para que los desarrolladores puedan analizarlos y prevenirlo en profundidad.

Descubrimos esta vulnerabilidad antes de que se lanzara TVM11 y la informamos de inmediato a Ton Core, evitando así que la vulnerabilidad representara un riesgo de seguridad para cualquier activo en la cadena. Ton Core analizó cuidadosamente nuestro informe, reparó la vulnerabilidad antes del lanzamiento oficial y nos otorgó una recompensa y agradecimientos. Agradecemos sinceramente la profesionalidad y el compromiso de Ton Core.

El código afectado (ubicado en crypto/vm/tonops.cpp) es el siguiente:

Causa raíz:

Esta línea de código

Ref t = get_param(st, inmsgparams_idx).as_tuple();

No se realizó una verificación de si la variable t es nullptr. Si se configura la ranura 0 del registro c7 como un tuple cuyo 17° elemento no es de tipo Tuple, as_tuple() devolverá un puntero nulo. Cuando este puntero nulo t se pasa a tuple_index, se producirá una desreferencia de puntero nulo, lo que provocará un fallo en la máquina virtual. Este error grave se puede reproducir de manera estable en la versión global 11 (Global Version 11).

Código POC:

Para facilitar las pruebas locales (porque global_version suele ser configurado por la cadena), hemos modificado la inicialización de la máquina virtual en la función run_vm_code, forzando global_version a ser 11:

Copia el código PoC en el archivo crypto/test/vm.cpp.

Modifica run_vm_code de la manera indicada anteriormente, estableciendo global_version en 11.

Compilar y ejecutar el archivo ejecutable test-vm.

Colapso:

La máquina virtual se bloqueará debido a la desreferenciación de un puntero nulo:

En resumen, TonBit, que forma parte de BitsLab, siempre se adhiere al principio de "profundizar en la seguridad y la divulgación responsable", y continúa excavando y reparando vulnerabilidades clave en el código fuente de la máquina virtual TON. Desde el riesgo de migración no atómica de las instrucciones RUNVM, hasta el problema de desreferenciación de punteros nulos en las instrucciones INMSGPARAM, TonBit ha presentado informes y ha colaborado en las reparaciones con un alto nivel de profesionalismo y rapidez de respuesta, garantizando efectivamente la seguridad de los activos en cadena y promoviendo la estabilidad y la confiabilidad de TVM. En el futuro, TonBit continuará colaborando estrechamente con Ton Core y la comunidad para construir una defensa de seguridad Web3 más sólida.

Acerca de TonBit

TonBit, como la marca subsidiaria central de BitsLab, es un experto en seguridad y un constructor temprano dentro del ecosistema TON. Como el principal proveedor de garantías de seguridad de la blockchain TON, TonBit se centra en auditorías de seguridad completas, incluidas auditorías de los lenguajes Tact y FunC, asegurando que los proyectos basados en TON sean íntegros y resilientes. Hasta la fecha, TonBit ha auditado con éxito varios proyectos conocidos, incluidos Catizen, Algebra, UTonic, entre otros, y ha descubierto múltiples vulnerabilidades críticas, demostrando nuestra capacidad excepcional en el campo de la seguridad blockchain. Además, TonBit ha llevado a cabo con éxito la competencia TON CTF, atrayendo a numerosos participantes y obteniendo una amplia atención, lo que refuerza aún más su posición como experto en seguridad dentro del ecosistema TON. En el futuro, TonBit continuará protegiendo la seguridad de la blockchain y promoviendo el desarrollo continuo de la tecnología y el ecosistema.

Ver originales
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.
  • Recompensa
  • Comentar
  • Compartir
Comentar
0/400
Sin comentarios
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)