El proyecto Poolz sufrió un ataque de desbordamiento aritmético, con pérdidas de aproximadamente 665,000 dólares.
Recientemente, un incidente de seguridad en el proyecto multichain Poolz ha llamado la atención de la industria. Según los datos de monitoreo de blockchain, los atacantes aprovecharon una vulnerabilidad de desbordamiento aritmético en el contrato inteligente, logrando robar una gran cantidad de tokens del proyecto Poolz en las redes Ethereum, BNB Chain y Polygon, con un valor total de aproximadamente 66.5 mil dólares.
El ataque ocurrió alrededor de las 3:16 a.m. UTC del 15 de marzo de 2023. Los activos robados incluyen varios tokens ERC-20, como MEE, ESNC, DON, ASW, KMON, POOLZ, entre otros. Los atacantes luego intercambiaron parte de los tokens por BNB, pero actualmente estos fondos no se han transferido.
El problema central de este ataque radica en la función CreateMassPools del proyecto Poolz. Esta función se utiliza originalmente para crear grupos de liquidez en masa y proporcionar liquidez inicial, pero existe una vulnerabilidad de desbordamiento de enteros en la función getArraySum. El atacante, a través de parámetros de entrada cuidadosamente construidos, hace que el resultado de la suma supere el rango de uint256, lo que provoca que el valor de retorno de la función sea 1.
Sin embargo, la función CreatePool utilizó el parámetro _StartAmount original al registrar las propiedades del pool, en lugar de la cantidad real de tokens transferidos. Esto permitió que un atacante solo tuviera que transferir 1 token para registrar una liquidez inicial mucho mayor que la cantidad real. Posteriormente, el atacante completó la operación de retiro al llamar a la función withdraw, logrando así su objetivo de ataque.
Para prevenir que este tipo de problemas ocurran nuevamente, se recomienda a los desarrolladores que utilicen versiones más recientes de Solidity para compilar, a fin de aprovechar su función de verificación de desbordamiento incorporada. Para los proyectos que utilizan versiones más antiguas de Solidity, se puede considerar la incorporación de la biblioteca SafeMath de OpenZeppelin para resolver problemas de desbordamiento de enteros.
Este evento nos recuerda una vez más que la seguridad y la auditoría del código son fundamentales en el desarrollo de contratos inteligentes. Incluso un error aritmético que parezca pequeño puede ser explotado por atacantes, causando enormes pérdidas económicas.
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.
9 me gusta
Recompensa
9
5
Republicar
Compartir
Comentar
0/400
TrustMeBro
· 08-10 11:16
Jeje, solo un poco de dinero, el siguiente.
Ver originalesResponder0
DeFiAlchemist
· 08-10 11:15
*ajusta gráficos místicos* otro protocolo cae a la oscura aritmética... los números nunca mienten
Ver originalesResponder0
RooftopReserver
· 08-10 11:13
Es el mejor momento para relajarse en la azotea.
Ver originalesResponder0
HashBard
· 08-10 10:54
smh... otro día, otro exploit de desbordamiento
Ver originalesResponder0
DegenGambler
· 08-10 10:53
Otro contrato ha sido perforado por un papel delgado.
Poolz sufre un ataque de desbordamiento aritmético con pérdidas de 665,000 dólares.
El proyecto Poolz sufrió un ataque de desbordamiento aritmético, con pérdidas de aproximadamente 665,000 dólares.
Recientemente, un incidente de seguridad en el proyecto multichain Poolz ha llamado la atención de la industria. Según los datos de monitoreo de blockchain, los atacantes aprovecharon una vulnerabilidad de desbordamiento aritmético en el contrato inteligente, logrando robar una gran cantidad de tokens del proyecto Poolz en las redes Ethereum, BNB Chain y Polygon, con un valor total de aproximadamente 66.5 mil dólares.
El ataque ocurrió alrededor de las 3:16 a.m. UTC del 15 de marzo de 2023. Los activos robados incluyen varios tokens ERC-20, como MEE, ESNC, DON, ASW, KMON, POOLZ, entre otros. Los atacantes luego intercambiaron parte de los tokens por BNB, pero actualmente estos fondos no se han transferido.
El problema central de este ataque radica en la función CreateMassPools del proyecto Poolz. Esta función se utiliza originalmente para crear grupos de liquidez en masa y proporcionar liquidez inicial, pero existe una vulnerabilidad de desbordamiento de enteros en la función getArraySum. El atacante, a través de parámetros de entrada cuidadosamente construidos, hace que el resultado de la suma supere el rango de uint256, lo que provoca que el valor de retorno de la función sea 1.
Sin embargo, la función CreatePool utilizó el parámetro _StartAmount original al registrar las propiedades del pool, en lugar de la cantidad real de tokens transferidos. Esto permitió que un atacante solo tuviera que transferir 1 token para registrar una liquidez inicial mucho mayor que la cantidad real. Posteriormente, el atacante completó la operación de retiro al llamar a la función withdraw, logrando así su objetivo de ataque.
Para prevenir que este tipo de problemas ocurran nuevamente, se recomienda a los desarrolladores que utilicen versiones más recientes de Solidity para compilar, a fin de aprovechar su función de verificación de desbordamiento incorporada. Para los proyectos que utilizan versiones más antiguas de Solidity, se puede considerar la incorporación de la biblioteca SafeMath de OpenZeppelin para resolver problemas de desbordamiento de enteros.
Este evento nos recuerda una vez más que la seguridad y la auditoría del código son fundamentales en el desarrollo de contratos inteligentes. Incluso un error aritmético que parezca pequeño puede ser explotado por atacantes, causando enormes pérdidas económicas.