Volver al blog

Vulnerabilidad de Transferencia Pública del Contrato Inteligente Tether Gold

Code Auditing
27 de mayo de 2023
3 min de lectura

Nuestra herramienta de análisis interno encontró un error en el contrato de Tether Gold el 5 de abril, que permite a un atacante transferir los tokens XAUt (Tether Gold) de cualquier persona a una dirección predefinida. El equipo recibió nuestro informe y dijo que habían localizado este problema internamente. Hoy encontramos que el problema ha sido corregido, y queremos compartir los detalles aquí. Además, ilustraremos cómo usar Phalcon Fork para desarrollar y depurar el PoC de esta vulnerabilidad.

0x0. La vulnerabilidad

En la función transferFrom del contrato, cualquiera puede invocar esta función para transferir los tokens de otros usuarios a un recibo de confianza definido por el propietario del token. Aunque esta vulnerabilidad no puede ser explotada directamente para transferir los tokens a la cuenta del atacante, el atacante aún puede transferir los tokens del pool para manipular el precio del token en el pool (por ejemplo, el pool WETH-XAUt) y obtener ganancias.

La corrección de esta vulnerabilidad es sencilla, como se muestra a continuación.

0x1. Cómo explotar la vulnerabilidad

Para escribir y depurar el PoC, podemos usar Phalcon Fork para este propósito. Primero, podemos crear un Fork antes de que la vulnerabilidad sea parcheada. Usé el bloque de altura 17038763 al crear el Fork a través de la API de Fork.

Paso I: preparar suficiente Ether

El primer paso es obtener suficiente Ether para la tarifa de gas del explotador. Si no hay Ether en la cuenta, se emitirá la transacción que envía Ether desde vitalik.eth.

Paso II: transferir la propiedad del contrato de Tether Gold

El propietario del contrato de Tether Gold es una billetera multisig (0xC6CDE7C39eB2f0F0095F41570af89eFC2C1Ea828). Para transferir la propiedad al explotador, necesitamos enviar una transacción multisig y luego confirmar la transacción.

Paso III: Agregar una cuenta privilegiada al contrato de Tether Gold

Agregamos una nueva cuenta 0x189e7947a9d9210eec3a41dcf5f536bb1d7726f5 como cuenta privilegiada. Luego, invocamos la función transferFrom para transferir el token XAUt de una víctima a la cuenta privilegiada.

0x2. PoC

Por favor, encuentra el PoC en este github:

Apúntate para recibir las novedades
Pérdidas de ~5,57 millones USD: exploits de X100 Freezer y NEM | Resumen semanal de BlockSec
Security Insights

Pérdidas de ~5,57 millones USD: exploits de X100 Freezer y NEM | Resumen semanal de BlockSec

Este informe semanal cubre dos incidentes de seguridad ocurridos en Ethereum y BNB Chain durante el período 19/10/2026–25/10/2026. Examina una toma de control de la gobernanza de X100 Freezer financiada mediante un préstamo flash y un fallo en la liquidación de impuestos que afectó a un pool de liquidez de un token NEM en BNB Chain. Las pérdidas estimadas dentro del alcance del informe suman aproximadamente 5,57 millones USD: ~4,75 millones USD de la transacción representativa de X100 y ~820 mil USD del incidente del pool de NEM. El total excluye las extracciones posteriores de X100 reportadas por separado.

Pérdidas de aproximadamente 3,87 millones USD: hackeos de Autheo Network y UNCX | Resumen semanal de BlockSec
Security Insights

Pérdidas de aproximadamente 3,87 millones USD: hackeos de Autheo Network y UNCX | Resumen semanal de BlockSec

Este informe semanal cubre 3 incidentes de seguridad correspondientes al período 12/10/2026–18/10/2026, con pérdidas totales estimadas en aproximadamente 3,87 millones USD. Autheo Network sufrió una vulneración de clave privada con pérdidas de aproximadamente 1,76 millones USD; Qubic Wallet perdió aproximadamente 1,30 millones USD debido a la generación de una semilla débil; y los contratos Smart Token Vesting V2 de UNCX Network sufrieron un error contable con pérdidas de aproximadamente 807 mil USD en Ethereum, BNB Chain, Base y Robinhood Chain. El análisis destacado de UNCX explica cómo un cálculo agregado de participaciones defectuoso mezcló tramos de adquisición de derechos creados con distintas proporciones entre tokens y participaciones, lo que permitió retiros excesivos de pools compartidos.

Pérdidas de ~542.000 dólares: explotación de MakerDaoBot | Resumen semanal de BlockSec
Security Insights

Pérdidas de ~542.000 dólares: explotación de MakerDaoBot | Resumen semanal de BlockSec

Ethereum (05–11/10/2026): 1 incidente; pérdida estimada de $542 mil. MakerDaoBot, sin control de acceso, dio a un adaptador malicioso acceso a sus saldos MakerDAO. Este cerró 4 subastas ETH-A y convirtió 200 ETH-A en WETH; el atacante los cambió por 200 ETH y se los envió.

El mejor auditor de seguridad para Web3

Valida el diseño, el código y la lógica de negocio antes del lanzamiento, siguiendo los estándares de seguridad más exigentes del sector.

Auditoría de BlockSec