Encontramos que existen dos vulnerabilidades lógicas graves en los contratos de @AkuDreams. La primera vulnerabilidad puede causar un ataque DoS y la segunda vulnerabilidad hará que los fondos del proyecto (más de 34 millones de USD) queden bloqueados para siempre.
Vulnerabilidad I

La primera vulnerabilidad existe en la función processRefunds. Esta función tiene un bucle que reembolsará los fondos a cada usuario que haya realizado una oferta. Sin embargo, el ofertante puede ser un contrato malicioso que revierta la transacción. Esto puede causar que la invocación de processRefunds se revierta, y ninguno de los reembolsos de los usuarios puede completarse con éxito. Afortunadamente, esta vulnerabilidad no ha sido explotada.
Sugerimos que el contrato puede tomar las siguientes medidas para reembolsar a los usuarios.
- Asegurarse de que solo las EOA puedan ofertar
- Usar token ERC20, por ejemplo, WETH, en lugar de ETH
- Tener una función que permita al usuario obtener el reembolso por sí mismo
Vulnerabilidad II

La segunda vulnerabilidad es un error de software. En la función claimProjectFunds, el propietario del proyecto puede reclamar el Ether en el contrato. Sin embargo, la sentencia require require(refundProgress >= totalBids, "Refunds not yet processed"); tiene un error, ya que debería comparar refundProgress con _bidIndex en lugar de totalBids. Debido a esta vulnerabilidad, el requisito nunca se cumplirá, y el Ether (11.539,5 Ether) en el contrato puede quedar bloqueado para siempre.
Resumen
Nos sorprende nuevamente (después del caso de NBA NFT de ayer) que un proyecto de alto perfil pueda descuidar las prácticas básicas de seguridad en software. Al menos, el proyecto debería escribir suficientes casos de prueba. Desafortunadamente, sospechamos que los proyectos están demasiado ocupados para escribir los casos de prueba, y pierden 3400 USD para siempre.
Acerca de BlockSec
BlockSec es una empresa pionera en seguridad blockchain establecida en 2021 por un grupo de expertos en seguridad de renombre mundial. La empresa está comprometida con mejorar la seguridad y la usabilidad para el emergente mundo Web3 con el fin de facilitar su adopción masiva. Con este fin, BlockSec ofrece servicios de auditoría de seguridad para contratos inteligentes y cadenas EVM, la plataforma Phalcon para el desarrollo de seguridad y el bloqueo proactivo de amenazas, la plataforma MetaSleuth para el seguimiento e investigación de fondos, y la extensión MetaDock para que los constructores de web3 naveguen de manera eficiente en el mundo cripto.
Hasta la fecha, la empresa ha atendido a más de 300 clientes destacados como MetaMask, Uniswap Foundation, Compound, Forta y PancakeSwap, y ha recibido decenas de millones de dólares estadounidenses en dos rondas de financiación de inversores prominentes, incluyendo Matrix Partners, Vitalbridge Capital y Fenbushi Capital.
Sitio web oficial: https://blocksec.com/
Cuenta oficial de Twitter: https://twitter.com/BlockSecTeam



