Según Blockworks, una investigación reciente de Ametric Research descubrió una vulnerabilidad crítica en el protocolo de comunicación entre cadenas de bloques (IBC). Este estándar facilita la interacción entre cadenas de cosmos individuales. La vulnerabilidad se encontró específicamente en ibc-go, la implementación del lenguaje de programación de alto nivel Golang del protocolo IBC, y afectó al middleware IBC basado en CosmWasm. El middleware, similar a muchos protocolos puente, permite enviar paquetes de una cadena de bloques a otra. Estos paquetes se almacenan como compromisos antes de recibirlos y eliminarlos correctamente. Si no se reciben, los tokens se reembolsan mediante una función de tiempo de espera.
Ametric Research descubrió que el flujo entre el módulo que elimina el control de compromiso podría reproducirse. Esto significaba que era posible explotar el error y generar una cantidad infinita de tokens IBC. Varias cadenas eran vulnerables a este problema, incluida Osmosis, uno de los DEX de cadena cruzada más grandes del ecosistema Cosmos. Sin embargo, el daño potencial fue limitado debido a la limitación de velocidad en la cadena.
La vulnerabilidad se ha revelado de forma privada al programa de recompensas por errores Cosmos HackerOne y se ha resuelto sin ninguna explotación maliciosa. Ametric Research enfatizó la facilidad con la que se pueden romper los supuestos de confianza y se pueden introducir nuevas vulnerabilidades agregando nuevas características y funcionalidades. También destacaron la importancia de la defensa en profundidad y elogiaron a los equipos del Cosmos por sus sólidas medidas de seguridad que podrían haberlos salvado de riesgos existenciales. Se lanzó un parche binario para corregir el reentrante del tiempo de espera de IBC subyacente sin romper el consenso. Los contribuyentes dedicaron mucho tiempo y esfuerzo a evaluar las implicaciones de seguridad de los problemas mencionados.