Anki gilt als eine der beliebtesten Flashcard-Anwendungen weltweit und unterstützt Millionen von Lernenden beim Merken von Wissen. Das System ist vielseitig und plattformübergreifend einsetzbar: Es gibt Versionen für Windows, Mac, Android, iOS und eine Webanwendung. Dabei sind der Zugriff auf Shared Decks sowie Erweiterungen durch Add-ons Funktionen, die das Lernen enorm bereichern. Doch genau diese beliebten Features können auch zum Sicherheitsrisiko werden. Die Annahme vieler Anwender, dass das Importieren von Shared Decks vollkommen ungefährlich sei, hat sich kürzlich als Trugschluss erwiesen.
Sicherheitsforscher haben mehrere Exploits entdeckt, die es erlauben, über scheinbar harmlose Flashcards bösartigen Code auf dem Rechner eines Nutzers auszuführen. Dies zeigt eindrücklich, dass gerade im Bereich der edukativen Software das Thema Cybersicherheit nicht vernachlässigt werden darf. Die Kernproblematik liegt darin, dass Anki das Ausführen von bestimmten Programmiersprachen und Skripten erlaubt, um Flashcards möglichst flexibel und informativ zu gestalten. LaTeX spielt hier eine herausragende Rolle, da viele wissenschaftliche Karten komplexe Formeln und Graphiken über diese Sprache darstellen. Allerdings wurde gezeigt, dass die LaTeX-Implementierung bei Anki Schwachstellen aufweist, die es Angreifern ermöglichen, Dateien zu lesen und zu schreiben oder sogar eigenen Programmcode auf dem Rechner auszuführen.
So kann beispielsweise eine manipulierte LaTeX-Karte ein Skript generieren, das sensible Daten ausliest oder einen Reverse-Shell-Zugang öffnet – also eine Hintertür, über die der Angreifer vollen Zugriff auf das System erlangt. Eine besondere Bedeutung hat dabei die sogenannte Remote Code Execution (RCE). Diese bezeichnet die Fähigkeit eines Angreifers, beliebigen Code auf einem fremden System auszuführen, ohne physischen Zugriff zu haben. In Bezug auf Anki bedeutet das, dass ein Nutzer durch das alleinige Betrachten manipulierter Kartenkomponenten auf seinem Gerät kompromittiert werden kann – ganz ohne zusätzliche Sicherheitslücken im Betriebssystem oder der installierten Software vorausgesetzt. Doch wie schaffen es Angreifer, über LaTeX oder andere Mechanismen solchen Schaden anzurichten? Zentrale Techniken basieren auf dem Umgehen der in Anki eingebauten Blocklisten, die eigentlich gefährliche LaTeX-Kommandos verhindern sollen.
Anki filtert unerwünschte Befehle mit regulären Ausdrücken heraus, doch darauf spezialisierte Hacker können diese Filter beispielsweise durch geschickte Verschleierung mit Hex-Codes oder Umgehung von Paketinstallationen austricksen. Dadurch können bösartige LaTeX-Befehle ausgeführt und Dateien mit Schadcode erzeugt werden. Neben LaTeX spielt auch JavaScript eine wichtige Rolle für die Angriffe. Anki erlaubt das Einfügen von individuellem JavaScript in Karten, um diese interaktiver zu machen. Dabei zeigt sich, dass die Webengine, die Anki nutzt, zwar normalerweise in einer Sandbox läuft, jedoch Schnittstellen beherbergt, welche die Medienbibliothek der App ansprechen können.
So ist es etwa möglich, über JavaScript sensible Dateien aus dem Anki-Media-Ordner auszulesen und per HTTP an externen Server zu übertragen. Unter anderem wurde dokumentiert, dass dadurch Ankinutzerdaten wie Datenbanken mit Logins und Passwörtern abgegriffen werden können. Für Angreifer ist dies besonders wertvoll, weil diese Daten oft zu AnkiWeb-Accounts gehören und weitere Kompromittierungen ermöglichen. Noch alarmierender ist die Entdeckung einer Reflected Cross-Site Scripting (XSS) Schwachstelle in der von Anki verwendeten Flask-Webserver-Komponente. Eine solche Sicherheitslücke erlaubt das Einschleusen und Ausführen von schädlichem JavaScript im Kontext der Anki-Webschnittstelle, wodurch wiederum interne API-Aufrufe ausgeführt werden können.
Diese können zum Beispiel Deck-Konfigurationen ändern, neue Kartentypen importieren oder den Ablauf des Lernens manipulieren. Besonders gefährlich ist dabei die Fähigkeit, den schädlichen Code zu replizieren, sodass er sich von einem kompromittierten Deck auf sämtliche anderen Lernkarten des Nutzers ausbreiten kann. Dadurch bieten sich Angreifern vielseitige Möglichkeiten, sowohl Schaden anzurichten als auch persistent im System zu bleiben. Ein faszinierender Teil der Exploits bezieht sich auf den verwendeten MPV Media Player, der zum Abspielen von Audiodateien genutzt wird. MPV unterstützt Lua-Skripte für erweiterte Konfigurationen, und bösartige Decks können MPV dazu bringen, schädliche Lua-Skripte auszuführen.
Das wird vor allem dadurch ermöglicht, dass MPV eine Konfigurationsdatei einliest, deren Inhalt ein Angriffsszenario vorbereitet. Durch das Erstellen und Ausliefern dieser Konfigurations- und Skriptdateien via LaTeX-gestützter Dateierstellung oder direkt über die Medienbibliothek kann so ebenfalls Remote Code Execution auf Windows-Systemen erfolgen. Trotz des beeindruckenden Umfangs der beschriebenen Angriffe zeigen sich die Sicherheitsforscher besonders besorgt darüber, dass viele Nutzer Anki gar nicht regelmäßig aktualisieren. Da vor allem ältere Versionen diese Exploits zulassen, bleiben viele Anwender über Jahre hinweg anfällig. Dies liegt auch daran, dass lediglich offizielle Anki-Versionen teils schwer zu bauen und zu warten sind, und somit Ergänzungen oder Sicherheitsupdates durch die Community teilweise schwer zugänglich sind.
Die Kernbotschaft an Nutzer lautet daher, sehr vorsichtig bei der Verwendung von Shared Decks vorzugehen. Niemand sollte bedenkenlos Decks aus unsicheren oder unbekannten Quellen importieren, da das Risiko eines Trojaner-ähnlichen Angriffs real ist. Ein sinnvoller Ansatz ist zudem, die Ausführung von LaTeX für Karten separat zu erlauben oder zu verweigern und die Funktion bei verdächtigen oder neuen Decks zunächst zu deaktivieren. Daneben sollte man stets darauf achten, dass die verwendete Anki-Version auf dem aktuellen Stand ist, um von gefixten Schwachstellen zu profitieren. Für Entwickler von Anki und Sicherheitsforscher stellt das Thema Remote Code Execution bei Lernsoftware auch eine Mahnung dar, die Grenzen zwischen Flexibilität und Sicherheit gut abzuwägen.
Die Balance zwischen leistungsfähigen Features und der Vermeidung von potenziellen Angriffspunkten ist keineswegs trivial und muss vom gesamten Anki-Ökosystem fortlaufend beobachtet und verbessert werden. Insgesamt illustrieren die jüngsten Veröffentlichungen, dass Anki zwar eine hoch geschätzte Lerntoolplattform ist, aber sich auch versteckte Gefahren hinter scheinbar harmlosen Funktionen verbergen können. Besonders bei der Nutzung von Shared Decks, die von diversen unbekannten Quellen auf Ankiweb oder Plattformen wie Discord heruntergeladen werden, besteht eine reale Gefahr der Infizierung. Letztlich liegt es an jedem Anwender, informierte Entscheidungen zu treffen und Sicherheitsvorkehrungen zu treffen. Sich über diese entdeckten Schwachstellen zu informieren, die Updates von Anki einzuspielen und gegebenenfalls nur Decks von vertrauenswürdigen Quellen zu verwenden, kann das Risiko einer Kompromittierung deutlich mindern.
Die Zukunft der digitalen Lernwelt wird auch von der Sicherheit der Anwendungen mitbestimmt, welche immer mehr Menschen tagtäglich auf ihrem Weg zu neuem Wissen begleiten. Die entdeckten Schwachstellen im Bereich Remote Code Execution in Anki zeigen eindrucksvoll, dass Cybersecurity auch in vermeintlich ungefährlichen Anwendungen höchste Priorität haben muss.