Los jugadores de Minecraft y aquellos que ejecutan servidores de Minecraft se enfrentan a una nueva y peligrosa vulnerabilidad de seguridad que podría permitir a los malos ejecutar código remoto en sus computadoras. Apodado ‘BleedingPipe’, por un grupo de usuarios llamado MMPA (Minecraft Malware Prevention Alliance), el exploit utiliza la deserialización de Java para infectar servidores o clientes que tienen instalado uno de los muchos mods populares. Si no juegas Minecraft en un servidor que tiene uno de los mods y no usas los mods, no puedes estar infectado.
El número de mods de Minecraft vulnerables es extenso. Un estudiante alemán de informática que se hace llamar Dogboy21 en GitHub identificó tres docenas de mods populares que tienen la vulnerabilidad, que van desde AetherCraft hasta Immersive Armors y ttCore. La página Github de Dogboy21 también tiene un parche para solucionar el problema, que consiste en obtener un nuevo archivo JAR para colocarlo en la carpeta de mods. La publicación del blog de la MMPA enumera aún más mods que se ven afectados y afirma que, específicamente, los modpacks de las versiones 1.7.10 y 1.12.2 son los que son vulnerables.
BleedingPipe funciona aprovechando un problema con la clase ObjectInputStream en Java. Un pirata informático puede enviar datos al servidor con un código que hace algo malicioso y luego, cuando el servidor recibe el código y lo «deserializa» (cambiándolo de binario a un objeto), ese código se ejecuta en el lado del servidor. Del mismo modo, si el propio servidor está infectado, podría enviar datos binarios a un cliente (un jugador) cuya PC los deserializa localmente y ejecuta el código.
Hay un fantástico video de YouTube que explica cómo funcionan las vulnerabilidades de deserialización en el canal PwnFunction.
Si un mal actor puede ejecutar código en el lado del servidor o del cliente, las posibilidades son casi infinitas. Podrían encontrar formas de exfiltrar sus datos de usuario y usarlos para el robo de identidad o podrían apoderarse de su computadora y usarlos para ataques de Botnet en otros sistemas.
A principios de julio, un jugador que se hace llamar Yoyoyopo5 estaba ejecutando un servidor público usando las modificaciones de Forge 14.23.5.2860 y, durante una transmisión en vivo, un usuario malintencionado explotó BleedingPipe para obtener el control y ejecutar código en todos los dispositivos de los jugadores conectados. En su publicación sobre el incidente, Yoyoyopo5 dice que el pirata informático usó el código remoto para robar información de la sesión del navegador, Discord y Steam.
Según la MMPA, un mal actor ha escaneado todos los servidores de Minecraft en el espacio de direcciones IPv4 y puede haber implementado una carga maliciosa en ellos. Por lo tanto, cualquier servidor que ejecute un mod afectado podría estar infectado.
BleedingPipe es similar, pero aparentemente no es lo mismo, que otro exploit descubierto recientemente dentro de Log4j, una biblioteca de registro de Java. Minecraft.net, un sitio oficial de Microsoft, tiene una advertencia junto con mitigaciones para la vulnerabilidad Log4j.
Entonces, ¿qué debe hacer para protegerse? Si eres un jugador que juega en los servidores de otras personas, la MMPA recomienda buscar archivos infectados en tu directorio .minecraft, usando un escáner como JSus o jNeedle. Dogboy21 recomienda descargar su parche si está utilizando alguno de los mods.
Si ejecuta un servidor, MMPA sugiere ejecutar JSus o jNeedle en todas sus modificaciones instaladas. MMPA también sugiere actualizar a las últimas versiones de EnderIO o LogisticsPipes, si los está utilizando. También dice que use la bifurcación «GT New Horizons» de BDLib, si la está usando. El grupo también ha creado su propio mod de seguridad llamado PipeBlocker, que se supone que bloquea estos ataques.