Un programador, de origen pakistaní y llamado Ammar Askar, ha escrito en su blog una entrada sobre un bug que afecta a miles de servidores de Minecraft, y que lleva presente desde hace más de dos años. Además aporta un código conceptual que muestra cómo se puede explotar el fallo de seguridad.
El bug reside en el funcionamiento interno de red del protocolo de Minecraft, y permite que contenidos de ranuras de inventarios sean intercambiados, pudiendo modificar los items del usuario después acceder al juego, entre otras cosas. Minecraft también puede almacenar de forma arbitraria metadatos en un formato de fichero llamado Named Binary Tag (NBT), que permite estructuras de datos complejas que se mantienen en nidos jerárquicos.
Ammar Askar muestra un objeto que contiene 300 listas. Cada lista contiene otra de con 10 sublistas, y así hasta 5 niveles. Esto hace que en total el objeto contenga el impresionante número de 30.000.000 millones de listas. Aunque por otro lado dice que este no es el límite teórico para un ataque.
Cuando un servidor descomprime los datos de un usuario, intenta parsear los datos a NBT. En ese instante se creará representaciones del objetivo en Java, haciendo que el servidor tenga que crear varios millones de objetos que contienen muchos ArrayList, provocando que el servidor se quede sin memoria disponible y una gran carga de CPU.
El programador espera que Mojang le haga caso una vez que ha decidido hacer público el bug.
Fuente | ArsTechnica
http://www.muycomputer.com/2015/04/17/bug-seguridad-expuestos-servidores-minecraft