Una vulnerabilidad que afectaba a versiones anteriores de Bitcoin Core -el software de código abierto que hace funcionar a Bitcoin- fue revelada por el colaborador y desarrollador Andrew Chow el lunes. El problema, que ya ha sido solucionado, es conocido por otros desarrolladores de Bitcoin y afecta habitualmente a los navegadores web, pero no causó ninguna interrupción.
En un tweet, Chow dijo que la vulnerabilidad estaba presente en Bitcoin Core 0.18 y anteriores, pero se ha corregido desde la versión 0.19. Como referencia, Bitcoin funciona actualmente con la versión 0.21.0.
Disclosure of a likely unexploitable URI argument injection vulnerability present in Bitcoin Core 0.18 and earlier. This has been fixed since 0.19.https://t.co/gGhXASrOtM
— Andrew Chow (@achow101) February 1, 2021
Pero a pesar de la advertencia, Chow dijo que no era probable que el ataque causara daños. "Con las mitigaciones presentes en los navegadores modernos y en los entornos de escritorio de Linux, no creo que esta vulnerabilidad pueda ser realmente explotada", dijo.
Chow añadió: "Sin embargo, si pudiera explotarse, podría dar lugar a un RCE (es decir, a la ejecución de código malicioso en el ordenador de la víctima)."
Desglose del ataque a Bitcoin que nunca fue
El ataque giraba en torno a tres aspectos técnicos: un URI, abreviatura de Unified Resource Identifier; un identificador utilizado por los ordenadores para identificar objetos del mundo real y digital, Qt5, un programa gratuito que crea interfaces gráficas, y por último, la forma en que estos dos se manejan en un ordenador.
Chow dijo que, dado que las inyecciones URI -el término específico para la naturaleza de la vulnerabilidad- son un problema conocido, los desarrolladores de software (los de Bitcoin en este caso) saben cómo evitarlas.
Esto significa, en términos sencillos, que los desarrolladores suelen evitar fácilmente cualquier información marcada enviada por URIs y prevenir los ataques. Sin embargo, el problema radicaba en Qt5, el software gráfico, que no reconocía los URIs defectuosos y podría haber permitido el paso de argumentos no deseados (variables digitales que contienen datos).
En teoría, una vulnerabilidad de este tipo hace que un código ilícito envíe datos/instrucciones falsas a un ordenador e instale un plugin malicioso. Esto puede provocar un mal funcionamiento del sistema del usuario y/o otras formas de ciberdelincuencia, como el robo de datos.
Pero, afortunadamente, la mayoría de los navegadores web ya tienen sistemas incorporados para evitar este tipo de ataques y marcar cualquier argumento no deseado para que no pase. Esto significa que, aunque la vulnerabilidad estaba presente, era difícil de explotar, y Chow afirma que incluso podría ser imposible causar un daño real.
Mientras tanto, la vulnerabilidad fue uno de los primeros casos de este tipo en Bitcoin Core. Y vale la pena repetirlo de nuevo: Bitcoin en sí mismo sigue siendo ileso - el ataque estaba presente en las versiones anteriores del software y teóricamente podría afectar a los dispositivos de los usuarios, no al protocolo en sí.