Zwei Jahre alte Sicherheitslücke macht Minecraft-Server zu Freiwild

Minecraft-Server lassen sich über eine Sicherheitslücke aus dem Netz schießen, die bereits seit Version 1.6.2 in dem Spiel klafft. Die aktuelle Version ist immer noch angreifbar.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 42 Beiträge
Zwei Jahre alte Sicherheitslücke macht Minecraft-Server zu Freiwild
Von
  • Fabian A. Scherschel

Entwickler Ammar Askar hat eine Sicherheitslücke im Sandbox-Spiel Minecraft veröffentlicht, die es einem Angreifer ermöglicht, nach Belieben Minecraft-Server komplett lahmzulegen. Askar hatte den Bug im Juli 2013 an die Minecraft-Macher Mojang gemeldet, die ihn nach längerem E-Mail-Wechsel schließlich ignorierten.

Wie sich jetzt herausstellt, hatte Mojang einen Patch entwickelt, diesen aber offensichtlich nicht genug getestet, so dass dieser wirkungslos blieb. Die Lücke klafft nach wie vor und Exploit-Code ist nun auch öffentlich erhältlich. Mojang gehört mittlerweile zu Microsoft.

Die Sicherheitslücke besteht darin, wie der Minecraft-Server mit bestimmten Übertragungen des Spiele-Clients umgeht. Client und Server sind zusammen für die Verwaltung des Spieler-Inventories verantwortlich. Zum Datenaustausch benutzt Mojang ein eigenes JSON-ähnliches Binärformat namens Named Binary Tag (NBT).

Ein Angreifer kann in diesem Format Listen auf eine Weise ineinander verschachteln, dass der Server seinen kompletten Speicher aufwenden muss, um sie an seinem Ende wieder auseinander zu bauen. Das liegt vor allem daran, dass der Server für jedes einzelne Objekt aus der NBT-Datei ungeprüft ein Java-Objekt anlegt – bei einer präparierten Anfrage kommen da Millionen von Objekten zusammen.

Laut Askar ist das Schließen der Sicherheitslücke "nicht wirklich schwer": Das Format sollte Rekursionslimits enthalten, damit solche Entitätsexpansionen in der Zukunft nicht mehr möglich sind. Einen entsprechenden Fix hatte er nach eigenen Angaben vor fast zwei Jahren den Mojang-Entwicklern vorgeschlagen. Zusammen mit einem Proof-of-Concept, gegen das die Entwickler ihren Fix wohl nicht geprüft haben. Den ursprünglichen Bug hatte er in Minecraft 1.6.2 gefunden. Die aktuelle Version 1.8.3 ist nach wie vor angreifbar. Mojang arbeitet nun wohl an einem neuen Patch. (fab)