Estimados miembros de la comunidad Conflux y socios del ecosistema,
Recientemente, el equipo del ecosistema Conflux, GraFun, informó de una vulnerabilidad en el Conflux EVM. Tras la investigación y resolución, Conflux completó con éxito la actualización de seguridad de la versión V2.5 el 17 de marzo de 2025. Ahora estamos revelando los detalles de este incidente de seguridad y el proceso de manejo de la siguiente manera.
Antecedentes del incidente
El 13 de febrero de 2025, el equipo de GraFun informó de una vulnerabilidad crítica relacionada con el comportamiento del opcode CREATE2 en la red Conflux:
En la máquina virtual estándar de Ethereum (EVM), el opcode CREATE2 no despliega un contrato si la dirección de destino ya tiene un contrato desplegado, devolviendo una dirección nula. Sin embargo, la implementación anterior de Conflux permitía a CREATE2 volver a desplegar contratos en una dirección con un contrato existente, restableciendo el estado del contrato a su estado de despliegue inicial.
Tras recibir el informe, lo reprodujimos inmediatamente y localizamos la vulnerabilidad en el código.
Evaluación del impacto en la seguridad
Una semana después de confirmar la vulnerabilidad, realizamos un análisis en profundidad del impacto en la seguridad:
- La mayoría de los contratos de fábrica que utilizan CREATE2 (por ejemplo, las fábricas Swappi) implementaron comprobaciones adicionales de conflicto de direcciones, por lo que no se vieron afectados por esta vulnerabilidad.
- Sin embargo, Gnosis Safe no implementó dichas comprobaciones y se vio afectado. Un atacante podía aprovechar esta vulnerabilidad para restablecer el estado de un contrato de Gnosis Safe a su estado de despliegue inicial. Aunque esto no permitía la manipulación directa de los permisos de firma, permitía la repetición de transacciones previamente firmadas.
- Para evaluar con más detalle los riesgos de seguridad de los contratos Gnosis Safe en Conflux, utilizamos el método eth_getLogs para recopilar todos los contratos Gnosis Safe y sus registros de ejecución (aproximadamente 30 contratos) y analizamos manualmente sus implicaciones de seguridad. El análisis reveló que la mayoría de las transferencias de fondos de Gnosis Safe sólo implicaban direcciones de confianza, con sólo un pequeño número de fondos potencialmente en riesgo.
Proceso de respuesta de seguridad
Para proteger los activos de los usuarios, notificamos rápidamente a los socios del ecosistema afectados y les ayudamos a transferir de forma segura los activos potencialmente en riesgo. Al mismo tiempo, iniciamos el proceso de actualización de seguridad previsto:
- Corrección de vulnerabilidades y pruebas de integración (21 de febrero): Se completaron las correcciones de código y se superaron las pruebas de integración.
- Actualización de la red de pruebas interna (24 de febrero): Validación de la corrección en la red de pruebas interna para desarrolladores.
- Actualización de la red de pruebas pública (anunciada el 25 de febrero y efectiva el 3 de marzo): Realización de pruebas completas y verificación de la seguridad en la red de pruebas pública.
- Despliegue de la actualización de la red principal (anunciado el 3 de marzo, efectivo el 17 de marzo): Finalizada la actualización de seguridad de la red principal de Conflux, que resuelve por completo la vulnerabilidad.
Análisis post mortem
Tras resolver el problema, realizamos un análisis exhaustivo de las causas subyacentes. La implementación de Conflux EVM fue portado inicialmente desde el proyecto OpenEthereum, que tenía mala calidad de código e incluía dos aspectos engañosos:
- La función para crear nuevos contratos (new_contract) contenía un comentario engañoso que sugería incorrectamente permitir la redistribución en direcciones con contratos existentes. Este comentario se escribió antes de la introducción de EIP-684 (que prohíbe el redespliegue de direcciones) y nunca se actualizó hasta que OpenEthereum quedó obsoleto. Código de referencia
- OpenEthereum no definía un tipo de error claro, como “ConflictAddress”, para los conflictos de direcciones, devolviendo en su lugar un error “OutOfGas”. Esto dificultaba a los desarrolladores reconocer la lógica existente que impedía la redistribución. Código de referencia
Confundido por estos factores, el equipo de Conflux creyó erróneamente que Ethereum permitía la redistribución de direcciones CREATE2. Este malentendido se reflejó en el Apéndice A del documento amarillo de Conflux y en otra documentación, que describía incorrectamente que Ethereum no prohibía la redistribución. En consecuencia, al introducir Conflux eSpace, eliminamos la comprobación crítica para alinearnos con el comportamiento percibido de Ethereum.
Durante este proceso, el equipo de Conflux no reconoció plenamente el impacto potencial en la seguridad de los comportamientos de EVM, y tenemos una responsabilidad innegable por esta vulnerabilidad.
Recompensa por el fallo
Dada la importancia crítica de CREATE2
en el EVM y la gravedad potencial de esta vulnerabilidad, la calificamos como «Crítica» y concedimos al equipo de GraFun una recompensa base de 50.000 CFX. Además, teniendo en cuenta que su oportuno informe ayudó a evitar posibles pérdidas, otorgamos una recompensa adicional de 10.000 CFX, con lo que el total asciende a 60.000 CFX.
Acciones de seguimiento y mejoras de seguridad
A medida que Conflux avanza en su estrategia PayFi, las aplicaciones financieras exigen mayor seguridad y madurez para las herramientas del ecosistema. Para reforzar la seguridad de las herramientas del ecosistema de Conflux y aprovechar los productos maduros de Ethereum, tenemos previsto sincronizar la mayoría de las funciones EVM de Ethereum durante la próxima actualización de la bifurcación dura (ver CIP-645). Además, integraremos los casos de prueba de la especificación EVM oficial de Ethereum en Conflux para mejorar la compatibilidad con el ecosistema Ethereum y evitar problemas de seguridad similares en el futuro.
Agradecemos sinceramente a la comunidad y a los socios del ecosistema su continuo apoyo y atención. El equipo de Conflux sigue comprometido con la transparencia, la respuesta rápida y la salvaguarda de la seguridad del ecosistema y los intereses de los usuarios.
Equipo Conflux
24 de marzo de 2025
Anuncio en inglés: Review of the Conflux Network V2.5 Security Upgrade