PabloMK7 hat einen Fehler in zahlreichen First-Party 3DS-, Wii-U- und Switch-Spielen öffentlich gemacht, der es einem Angreifer ermöglicht, unsignierten Code auszuführen, selbst wenn die Konsole des Opfers nicht gemoddet ist. Nintendo hat den Fehler bereits in einigen Spielen behoben.
UPDATE, 26.12.22, 00:15 Uhr: Ein Aroma-Plugin wurde
veröffentlicht, welches den Bug in Mario Kart 8 und Splatoon behebt.
Die Schwachstelle, die "ENLBufferPwn" getauft wurde, wurde bereits von mehreren Personen im Jahr 2021 entdeckt und nach und nach an Nintendo gemeldet. Laut dem CVSS 3.1 Calculator handelt es sich dabei um eine Lücke mit einer Schwere von 9,8 von 10 Punkten.
Welche Spiele sind/waren betroffen?
- Mario Kart 7 (behoben in v1.2, kürzlich erschienen)
- Mario Kart 8 (nicht behoben)
- Mario Kart 8 Deluxe (behoben in v2.1.0)
- Animal Crossing: New Horizons (behoben in v2.0.6)
- ARMS (behoben in v5.4.1)
- Splatoon (nicht behoben)
- Splatoon 2 (behoben in v5.5.1)
- Splatoon 3 (behoben Ende 2022, genaue Version unbekannt)
- Super Mario Maker 2 (behoben in v3.0.2)
- Nintendo Switch Sports (behoben Ende 2022, genaue Version unbekannt)
- eventuell noch mehr
Was genau ist das Problem?
Konkret handelt es sich bei ENLBufferPwn um einen Buffer-Overflow in der C++-Klasse "NetworkBuffer", die von einigen First-Party-Spielen verwendet wird. Diese Klasse enthält zwei Methoden "Add" und "Set", die den Buffer mit Daten von anderen Spielern befüllen. Allerdings wird dabei nicht geprüft, ob diese Daten überhaupt in den Buffer passen, was zu einem Buffer-Overflow führt und ausgenutzt werden kann. Eine genauere technische Erklärung finden Interessierte in der GitHub-Repo.
Welche Auswirkungen hat das?
Ein Angreifer kann sämtlichen Code auf fremden Geräten ausführen. In einem Video sieht man, wie in einer alten Version von Mario Kart 7 das HOME-Menü ohne Zutun des Nutzers geöffnet wird und in einem Proof-of-Concept-Video ist zu sehen, wie der SafeB9SInstaller auf einer ungemoddeten Konsole ausgeführt wird. Ein anderes Proof-of-Concept zeigt unsignierten Code auf der Wii U über den Online-Modus von Mario Kart 8.
Man kann nur hoffen, dass Nintendo den Fehler auch in den Wii-U-Spielen behebt.