Poolz sufre un ataque de vulnerabilidad por desbordamiento aritmético, con pérdidas de aproximadamente 66.5 mil dólares.
Recientemente, un ataque contra Poolz ha llamado la atención de la comunidad de criptomonedas. Según los datos de monitoreo en cadena, el ataque ocurrió el 15 de marzo de 2023 e involucró múltiples cadenas como Ethereum, BNB Chain y Polygon. Este ataque provocó pérdidas en varios tokens, con un valor total de aproximadamente 665,000 dólares.
Los atacantes aprovecharon una vulnerabilidad de desbordamiento aritmético en el contrato inteligente de Poolz. En concreto, el problema radica en la función getArraySum dentro de la función CreateMassPools. Esta función, al calcular la cantidad de tokens, provoca que la cantidad real de tokens transferidos no coincida con la cantidad registrada debido al problema de desbordamiento.
El proceso de ataque es aproximadamente el siguiente:
El atacante primero intercambió algunos tokens MNZ en un intercambio descentralizado.
Luego se llamó a la función CreateMassPools. Esta función debería permitir a los usuarios crear múltiples grupos de liquidez y proporcionar liquidez inicial.
Durante el proceso de CreatePool, debido al problema de desbordamiento de la función getArraySum, el atacante solo necesita transferir 1 token, pero el sistema registra un valor muy superior a la cantidad real.
Finalmente, el atacante extrajo tokens que superaban con creces la cantidad que había depositado realmente a través de la función withdraw, completando así el ataque.
Este incidente destaca una vez más la importancia y los riesgos potenciales de las operaciones aritméticas en los contratos inteligentes. Para prevenir problemas similares, los desarrolladores deberían considerar el uso de versiones más recientes del compilador de Solidity, que realizan automáticamente verificaciones de desbordamiento. Para proyectos que utilizan versiones más antiguas de Solidity, se recomienda adoptar la biblioteca SafeMath de OpenZeppelin para manejar operaciones enteras y evitar riesgos de desbordamiento.
Este evento nos recuerda que, en el desarrollo de blockchain y contratos inteligentes, la seguridad debe ser siempre la principal consideración. Auditorías de código regulares, el uso de bibliotecas verificadas y la adopción de medidas de seguridad integrales son cruciales para proteger los activos de los usuarios y mantener la reputación del proyecto.
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.
5 me gusta
Recompensa
5
2
Compartir
Comentar
0/400
GweiTooHigh
· hace13h
Otra vez un desbordamiento. Ahora todavía hay proyectos que cometen este error básico.
Ver originalesResponder0
bridge_anxiety
· hace13h
¿Este viejo proyecto también tiene vulnerabilidades? Difícil de soportar.
Poolz sufre un ataque de desbordamiento aritmético con una pérdida de 665,000 dólares.
Poolz sufre un ataque de vulnerabilidad por desbordamiento aritmético, con pérdidas de aproximadamente 66.5 mil dólares.
Recientemente, un ataque contra Poolz ha llamado la atención de la comunidad de criptomonedas. Según los datos de monitoreo en cadena, el ataque ocurrió el 15 de marzo de 2023 e involucró múltiples cadenas como Ethereum, BNB Chain y Polygon. Este ataque provocó pérdidas en varios tokens, con un valor total de aproximadamente 665,000 dólares.
Los atacantes aprovecharon una vulnerabilidad de desbordamiento aritmético en el contrato inteligente de Poolz. En concreto, el problema radica en la función getArraySum dentro de la función CreateMassPools. Esta función, al calcular la cantidad de tokens, provoca que la cantidad real de tokens transferidos no coincida con la cantidad registrada debido al problema de desbordamiento.
El proceso de ataque es aproximadamente el siguiente:
El atacante primero intercambió algunos tokens MNZ en un intercambio descentralizado.
Luego se llamó a la función CreateMassPools. Esta función debería permitir a los usuarios crear múltiples grupos de liquidez y proporcionar liquidez inicial.
Durante el proceso de CreatePool, debido al problema de desbordamiento de la función getArraySum, el atacante solo necesita transferir 1 token, pero el sistema registra un valor muy superior a la cantidad real.
Finalmente, el atacante extrajo tokens que superaban con creces la cantidad que había depositado realmente a través de la función withdraw, completando así el ataque.
Este incidente destaca una vez más la importancia y los riesgos potenciales de las operaciones aritméticas en los contratos inteligentes. Para prevenir problemas similares, los desarrolladores deberían considerar el uso de versiones más recientes del compilador de Solidity, que realizan automáticamente verificaciones de desbordamiento. Para proyectos que utilizan versiones más antiguas de Solidity, se recomienda adoptar la biblioteca SafeMath de OpenZeppelin para manejar operaciones enteras y evitar riesgos de desbordamiento.
Este evento nos recuerda que, en el desarrollo de blockchain y contratos inteligentes, la seguridad debe ser siempre la principal consideración. Auditorías de código regulares, el uso de bibliotecas verificadas y la adopción de medidas de seguridad integrales son cruciales para proteger los activos de los usuarios y mantener la reputación del proyecto.