Vulnerabilidad de llamada arbitraria, culpada de los hackeos a SwapNet y Aperture Finance por $17 millones

- Una vulnerabilidad de llamada arbitraria compartida permitió a los atacantes drenar más de 17 millones de dólares de SwapNet y Aperture Finance abusando de las aprobaciones de tokens existentes.
- SwapNet perdió más de 13,4 millones de dólares después de que los atacantes explotaran una función no validada para ejecutar llamadas maliciosas de bajo nivel en cuatro blockchains.
- Aperture Finance sufrió pérdidas de 3,67 millones de dólares a través de un defecto similar que permitió a los atacantes desviar tokens ERC-20 y aprobar NFTs de Uniswap V3.
La firma de seguridad blockchain BlockSec ha publicado un análisis técnico de los ataques que afectaron a dos protocolos de finanzas descentralizadas, lo que resultó en pérdidas de más de $17 millones.
SwapNet, un agregador de DEX, sufrió pérdidas de más de $13,4 millones en Ethereum, Arbitrum, Base y Binance Smart Chain, mientras que Aperture Finance, que gestiona posiciones de liquidez concentrada, perdió un estimado de $3,67 millones en un incidente concurrente pero no relacionado.
“Los contratos víctimas exponen una capacidad de llamada arbitraria debido a una validación de entrada insuficiente, lo que permite a los atacantes abusar de las aprobaciones de tokens existentes e invocar transferFrom para vaciar los activos,” BlockSec declaró en un resumen de su análisis en X.
La firma de seguridad declaró, “Estos incidentes sirven como recordatorio de que la flexibilidad en el diseño de contratos debe equilibrarse cuidadosamente con restricciones estrictas de llamada, especialmente en sistemas de código cerrado donde la revisión externa es limitada.”
¿Qué había detrás de la vulnerabilidad de SwapNet?
En el caso de SwapNet, la vulnerabilidad provenía de la función 0x87395540(), que carecía de una validación adecuada en entradas críticas.
Al reemplazar las direcciones de enrutador o pool esperadas con direcciones de tokens como USDC, los atacantes engañaron al contrato víctima para que tratara los tokens como objetivos de ejecución válidos.
Esto llevó a la ejecución de llamadas de bajo nivel con calldata controlado por el atacante, permitiendo que el contrato víctima realizara llamadas que permitían al atacante desviar todos los activos aprobados.
La vulnerabilidad afectó a los usuarios de Matcha Meta, un meta-agregador de intercambios DeFi, que había desactivado la configuración de “Aprobación Única” de la plataforma y otorgado una aprobación infinita directamente a los contratos de SwapNet.
La mayor pérdida individual provino de un usuario que perdió alrededor de 13.34 millones de $. En total, 20 usuarios se vieron afectados. El ataque comenzó en Base en el bloque 41289829, lo que llevó a SwapNet a pausar los contratos en Base 45 minutos después de que se detectó la explotación inicial. También pausó los contratos en otras cadenas poco después; sin embargo, durante esa ventana, otros 13 usuarios se vieron afectados en tres cadenas.
Una debilidad similar afectó a Aperture Finance
Aperture Finance, que gestiona posiciones de liquidez de Uniswap V3 en nombre de los usuarios, fue víctima de la misma clase de vulnerabilidad en su función 0x67b34120().
Cuando se invocaba esta función, una función interna 0x1d33() ejecutaba llamadas de bajo nivel utilizando calldata suministrado por los usuarios sin imponer restricciones estrictas sobre el objetivo de la llamada o el selector de función.
Esto permitió a los atacantes construir calldata malicioso que desviaba tokens ERC-20 y también aprobaba NFTs de posiciones de Uniswap V3.
Los usuarios que habían autorizado aprobaciones para las funciones de “Gestión Instantánea de Liquidez” fueron los que corrieron riesgo con este ataque.
En un ataque representativo en Ethereum, el atacante creó un contrato que invocaba la función vulnerable con solo 100 wei de ETH. Después de envolver los tokens nativos en WETH, se ejecutó la llamada maliciosa a WBTC.transferFrom(), permitiendo al atacante vaciar los tokens aprobados mientras pasaba una verificación de saldo especificando su propio valor de salida del intercambio.
¿Qué cambios están haciendo las plataformas afectadas?
Los incidentes han llevado a ambos protocolos a reevaluar su enfoque de seguridad. Primero, ambos protocolos pidieron a sus usuarios que revocaran las aprobaciones utilizando herramientas como Revoke.cash.
Matcha Meta declaró que ha desactivado el interruptor que permite a los usuarios desactivar la Aprobación Única. También ha eliminado SwapNet de su plataforma hasta nuevo aviso, mientras afirmaba que “Errar hacia la personalización en lugar de la seguridad no es una postura que permitiremos de ahora en adelante.”
Aperture Finance declaró que ha desactivado todas las funcionalidades de la aplicación web afectadas. En cuanto a sus esfuerzos de recuperación, declaró: “Estamos trabajando estrechamente con firmas de seguridad forense de primer nivel y coordinando con las fuerzas del orden para rastrear los fondos”, mientras añadía que también está estableciendo canales para negociar la devolución de los fondos.
Las mentes más inteligentes del mundo cripto ya leen nuestro boletín. ¿Quieres unirte? Únete a ellos.
Aviso de responsabilidad. La información proporcionada no es un consejo de trading. Cryptopolitan.com no asumimos responsabilidad alguna por las inversiones realizadas basándose en la información proporcionada en esta página. Recomendamos encarecidamente la investigación independiente y/o la consulta con un profesional calificado antes de tomar cualquier decisión de inversión.

Hannah Collymore
Hannah es escritora y editora con casi una década de experiencia en la redacción de blogs y la cobertura de eventos en el ámbito de las criptomonedas. En Cryptopolitan, Hannah contribuye a la página de noticias, informando y analizando los últimos avances en DeFi, RWA, regulación de criptomonedas, inteligencia artificial y tecnologías de vanguardia. Se graduó de la Universidad de Arcadia con una licenciatura en Administración de Empresas.
















