Mojang hat am 17.04.2015 ein kritisches Sicherheitsupdate herausgebracht, welches eine sehr schwerwiegende Lücke stopft. Diese Lücke, das jeden Minecraft-Server zum Absturz bringen konnte mit dem Trick, ähnelt der Zip-Bombe stark.
Das Problem wurde von Ammar Askar entdeckt, als er mit seinen Plugins tiefer in den Code von Bukkit gehen musste und dabei den Fehler entdeckte. In Fachkreisen wird dies Entitätsexpansion - auch XML-Bombe - genannt. Man macht so viele Verschachtelungen, bis der Server unter der Last, alles zu parsen und auszuwerten, mangels RAM-Speicher abstürzt. Minecraft speichert die Spieler Metadaten wie Verzauberung, den Inhalt eines Buches im NBT. Das sieht dann z. B. so aus:
tag: {
author: "ammar2",
title: "Kitteh",
pages: ["Kitties are cute", "I like kitties"]
}
Nun war es möglich, mit einem entsprechenden Paket, welches so komplex ist wie dieses hier, den Server unter der Last der Auswertung zum Absturz zu bringen.
rekt: {
list: [
list: [
list: [
list: [
list: [
list: [ ]
list: [ ]
list: [ ]
list: [
]
...
]
...
]
...
]
...
]
...
]
...
}
Nun fängt der Server an, die Daten zu lesen und den Inhalt zu parsen, um dann dadurch zum Abstürz gebracht zu werden. Immerhin ist es möglich, 30.000.000 Millionen Einträge zu haben - und das ist nicht einmal das Maximum des Payloads. Normalerweise würde das Paket hier 26,6 MB haben. Dank zlib wird dies auf 39 KB komprimiert.
Mojang hat dies nun mit Minecraft 1.8.4 gefixt - siehe die Release Notes: https://mojang.com/2…curity-release/
Das Advisory von Ammar Askar findet ihr hier: http://blog.ammarask…ility-advisory/
Außerdem wurde noch folgendes gefixt:
- [Bug MC-46771] – Pets follow spectator
- [Bug MC-61758] – Vines no longer spread correctly in corners
- [Bug MC-68642] – Certain characters cannot be typed on certain keyboard layouts (“AltGr” behaving like “Ctrl”)
- [Bug MC-73504] – Nether portals place players in front of the portal
- [Bug MC-78495] – Duplicating items
- [Bug MC-79079] – Malicious clients can force a server to freeze
- [Bug MC-79612] – Malicious clients can force a server to go out memory
- [Bug MC-78020] – User (formerly known as olduser) has joined shows multiple times