El pool PancakeSwap V2 para OCAUSDC en BSC fue explotado en una transacción sospechosa detectada hoy. El ataque resultó en la pérdida de casi 500.000 dólares en USDC del mercado, drenados en una sola transacción.
Según informes de plataformas de seguridad de Blockchain, el atacante explotó una vulnerabilidad en la lógica deflacionaria sellOCA(), lo que le permitió manipular las reservas del pool. La cantidad final que el atacante obtuvo fue de aproximadamente 422.000 dólares.
El exploit involucró el uso de préstamos flash y flash swaps combinados con llamadas repetidas a la función swapHelper de OCA. Esto retiró tokens OCA directamente del pool de liquidez durante los swaps, inflando artificialmente el precio de OCA en el par y permitiendo el drenaje de USDC.
¿Cómo ocurrió el exploit de OCA/USDC?
Se informa que el ataque fue ejecutado mediante tres transacciones. La primera para llevar a cabo el exploit y las dos siguientes para servir como sobornos adicionales al builder.
“En total, se pagaron 43 BNB más 69 BNB a 48club-puissant-builder, dejando un beneficio final estimado de 340.000 dólares”, escribió Blocksec Phalcon en X sobre el incidente, agregando que otra transacción en el mismo bloque también falló en la posición 52, probablemente porque fue adelantada por el atacante.
Los préstamos flash en PancakeSwap permiten a los usuarios pedir prestadas grandes cantidades de criptoactivos sin garantía; sin embargo, el monto prestado más las comisiones deben ser devueltos dentro del mismo bloque de transacción.
Principalmente se utilizan en estrategias de arbitraje y liquidación en la Binance Smart Chain, y los préstamos suelen ser facilitados por la función de flash swap de PancakeSwap V3.
Otro ataque de préstamo flash fue detectado hace unas semanas
En diciembre de 2025, un exploit permitió a un atacante retirar aproximadamente 138,6 WBNB del pool de liquidez de PancakeSwap para el par DMi/WBNB, obteniendo aproximadamente 120.000 dólares.
Aquel ataque demostró cómo una combinación de préstamos flash y manipulación de las reservas internas del par AMM mediante las funciones sync() y callback puede ser utilizada para agotar completamente el pool.
El atacante primero creó el contrato exploit y llamó a la función f0ded652(), un punto de entrada especializado en el contrato, después de lo cual el contrato llamó a flashLoan del protocolo Moolah, solicitando aproximadamente 102.693 WBNB.
Al recibir el préstamo flash, el contrato inicia el callback onMoolahFlashLoan(…). Lo primero que hace el callback es averiguar el balance de tokens DMi en el pool de PancakeSwap para preparar la manipulación de las reservas del par.
Es importante señalar que la vulnerabilidad no está en el préstamo flash, sino en el contrato de PancakeSwap, que permite la manipulación de las reservas mediante una combinación de flash swap y sync() sin protección contra callbacks maliciosos.
