- Bei StarDict wurde ein schwerwiegendes Sicherheitsproblem entdeckt: In X11-Umgebungen sendet es vom Nutzer ausgewählten Text per unverschlüsseltem HTTP an externe Server.
- Das Problem tritt auf, weil die Plugins YouDao und dict.cn in der Standardkonfiguration von Debian standardmäßig aktiviert sind.
- Das bedeutet, dass jeder vom Nutzer markierte Text automatisch an Server übertragen wird, wodurch das Risiko eines Abflusses sensibler Informationen besteht.
- Paketbetreuer prüften Vorschläge wie das Deaktivieren der Funktion und die Trennung der Plugins, doch eine grundlegende Lösung wurde nur unzureichend umgesetzt.
- Das Problem wurde bereits in der Vergangenheit mehrfach angesprochen und zeigt erneut das Fehlen einer vollständigen Reaktion sowie die Bedeutung von Sicherheitsbewusstsein.
Überblick über das Verhalten von StarDict und das Sicherheitsproblem
- StarDict ist ein plattformübergreifendes Wörterbuchprogramm unter der GPLv3-Lizenz mit Unterstützung für viele Sprachen und einem Plugin-Ökosystem.
- In der Standardkonfiguration von Debian werden beim Start von StarDict vom Nutzer markierte Texte per unverschlüsseltem HTTP an zwei entfernte Server übertragen: youdao.com und dict.cn.
- Das Problem wurde auch auf der oss-security-Mailingliste sowie im Debian-Bugtracker gemeldet.
Details des Problems
- Dass StarDict von seiner Konzeption her Code zur Kommunikation mit Wörterbuch-Websites enthält, ist naheliegend, aber die Funktion „Scan“ ist standardmäßig aktiviert.
- Das bedeutet: Wenn der Nutzer mit der Maus Text markiert, erscheint automatisch ein Übersetzungs-Popup, und dieser Text wird automatisch an externe Server übertragen.
- Besonders schwerwiegend ist das, wenn Nutzer StarDict ständig im Hintergrund laufen lassen.
Unterschiede je nach Linux-Umgebung
- In einer Wayland-Umgebung kann StarDict keinen Text aus anderen Anwendungen erfassen, sodass die Scan-Funktion nicht arbeitet und das Sicherheitsproblem nicht auftritt.
- Das Problem besteht derzeit nur in der klassischen X11-Umgebung.
Reaktionen von Debian und den StarDict-Entwicklern
- Der Debian-Paketbetreuer Xiao Sheng Wen sah kein großes Problem darin und erklärte,
"Die Scan-Funktion und das YouDao-Plugin können deaktiviert werden". - Der Meldende Vincent Lefevre wies jedoch darauf hin: „Datenschutzrelevante Funktionen müssen standardmäßig deaktiviert sein“.
- Zwar könnte die Funktion in der Paketbeschreibung erläutert werden, doch in der Beschreibung von stardict-plugin wird die Nutzung von Online-Wörterbüchern nicht erwähnt.
- Verbesserungen wie die Abspaltung der Plugins wurden vorgeschlagen, doch sofortige Maßnahmen blieben aus.
Komfort der Funktion und Sicherheitsbedenken
- Die Scan-Funktion ist ein wesentlicher Vorteil von StarDict, wenn man beim Lesen fremdsprachiger Texte schnell Wörter nachschlagen möchte.
- Nutzer können jedoch kaum erwarten, dass diese Kommunikation unverschlüsselt erfolgt. Dadurch besteht das Risiko, dass sensible Texte für beliebige Dritte auf dem Übertragungsweg sichtbar werden.
Frühere ähnliche Sicherheitsvorfälle und Reaktionen
- Bereits 2009 und 2015 wurden ähnliche Fälle gemeldet.
- 2009: Die Deaktivierung von Netzwerk-Wörterbüchern wurde vorübergehend zur Standardeinstellung.
- Das 2016 hinzugefügte YouDao-Plugin ignorierte diese Einstellung jedoch.
- Das Problem von 2015 wurde erst 2025 durch das Entfernen des Plugins gelöst.
- So wiederholen sich Rückfälle des Problems und verzögerte Reaktionen, ebenso wie Wechsel bei den Betreuern und Schwächen bei der Priorisierung.
Nutzerzahl und Sicherheitsauswirkungen
- Laut Debian-Statistik haben derzeit nur etwa 178 Personen StarDict installiert, doch unter Berücksichtigung nicht teilnehmender Systeme könnten über Jahre hinweg viele Nutzer dem Risiko eines Textabflusses ausgesetzt gewesen sein.
- Kopierte Passwörter, sensible E-Mails oder während der Dokumentbearbeitung markierte Textstellen könnten unverändert nach außen gelangt sein.
Open-Source-Ökosystem und Sicherheitsagenda
- Große Distributionen wie Debian verwalten unzählige Pakete; dabei sind versäumte Updates und Softwarealterung häufig.
- Auch Linus’ Gesetz – „Given enough eyeballs, all bugs are shallow“ – gilt in der Praxis nur dann, wenn tatsächlich jemand den Fehler findet, meldet und ein Betreuer das Problem anerkennt und behebt.
Der Wandel von X11 zu Wayland
- Die Einführung von Wayland soll genau solche Arten von Sicherheitslücken verringern, insbesondere die Möglichkeit von Informationsabfluss zwischen Anwendungen.
- Allerdings bleiben damit verbundene funktionale Einschränkungen und neue Modelle der Rechtevergabe weiterhin Herausforderungen.
Fazit und Bedeutung
- Dass entdeckte, analysierte und gemeldete Sicherheitsprobleme weiterhin ungelöst bleiben oder erneut auftreten, ist besorgniserregend.
- Um den Sicherheitsruf von Linux zu erhalten, sind Open-Source-Entwickler, Paketbetreuer und Nutzer gleichermaßen aufgerufen, Probleme kontinuierlich wahrzunehmen und schnell zu reagieren.
1 Kommentare
Hacker-News-Kommentare
Wie Xiao angemerkt hat, können Nutzer, die Software installieren, die Paketbeschreibung lesen, und die Scan-Funktion wird dort tatsächlich erwähnt. Aber wenn Debian-Maintainer auf Bugreports oft sinngemäß antworten: „Man muss eben alle Paketbeschreibungen sorgfältig lesen (sogar von Hunderten Paketen, die nur als Abhängigkeiten installiert werden)“, dann ist das ehrlich gesagt absurd — wenn man vor ein paar Tagen mit Trixie angefangen hätte, alle Beschreibungen und READMEs zu lesen, wäre man wahrscheinlich immer noch nicht fertig
dselectdie gewünschten Pakete auswählen und dann ein paar Stunden investieren, um alle Optionen passend zur echten Hardwareumgebung einzustellen (damals war das nicht so dynamisch wie heute, daher musste man vieles einzeln wählen). Heute gibt es einfach viel zu viele Pakete, und auch die Kernel-Konfiguration ist so gewaltig geworden, dass man realistisch nicht mehr alles prüfen kann (gibt es eigentlich noch Leute, diedselectbenutzen?)Natürlich könnte man denken, dass ein Wörterbuchprogramm Code enthält, der mit Websites kommuniziert. Aber wenn ich per
apt-getein Wörterbuch installiere, erwarte ich, dass ich das komplette Wörterbuch lokal auf meinem Rechner habe. Schließlich benutzt man Papierwörterbücher auch schon seit Jahrhunderten … StarDict ist zwar internetbasiert, aber auch wenn das normal sein mag, fühlt es sich irgendwie wie eine Falle anding-Programm unterstützt lokale Wörterbücher sehr gut. Es ist auch in Debian enthalten ding-Linkfirejail, dann mitbubblewrap, und im Lauf der Zeit mit selbstgebauten Bash-Skripten, die Apps in einer Sandbox starten. Das mache ich schon seit vor FlatpakIch war ziemlich schockiert, als ich herausfand, dass auf Samsung-Handys alle Clipboard-Daten auf alle Geräte meines Samsung-Kontos geteilt werden (einschließlich Passwörtern) und sogar ein Verlauf gespeichert wird. Ich erinnere mich nicht mehr, ob das die Standardeinstellung war oder ob ich versehentlich zugestimmt habe. Vermutlich laufen diese Daten über Samsung-Server. Ich habe die Teilen-Funktion abgeschaltet, aber der Clipboard-Verlauf lässt sich nicht deaktivieren, und selbst wenn ich auf eine andere Tastatur wechsle, sind beim Zurückwechseln zur Samsung-Tastatur die alten Clipboard-Einträge noch da. Mein nächstes Handy wird wohl kein Samsung mehr
Ich finde, die Aussagen zu Wayland sind etwas irreführend. Die letzte Zusammenfassung ist korrekt: „Vielleicht hätte StarDict spezielle Berechtigungen anfordern müssen, um unter Wayland zu funktionieren, und der Nutzer hätte diese wie üblich einfach mit den Standardwerten akzeptiert.“ Das ist also wahrscheinlich, und vielleicht wurden diese Rechte schon während der Installation automatisch gesetzt. Malware wird es immer geben. Wayland kann vor manchen Angriffsarten schützen, aber nicht vor einem Paket, das als Teil der Distribution installiert wurde
dict.youdao.comunddict.cnüber völlig ungesichertes HTTP gesendet, sodass jeder auf dem Übertragungsweg den Inhalt der Anfrage sehen kannLokale Wörterbuchabfragen pro Clipboard sind okay. Eine Funktion für entfernte Wörterbuchanfragen hinzuzufügen ist ebenfalls okay. Auch diese beiden Funktionen leicht kombinierbar zu machen wäre nachvollziehbar gewesen, wenn man sie etwa durch ein spezielles Flag getrennt hätte. Aber diese beiden Dinge in der Standardkonfiguration zu vermischen, ist fast schon böswillig
Zu der Aussage „Natürlich enthält ein Wörterbuchprogramm Code, der mit Websites verbunden ist“ würde ich sagen: Das hängt in Wirklichkeit vom Zweck ab. Die Minimalversion meines finnischen Wörterbuchs (
tsk) ist ungefähr 30 MB groß und enthält rund 250.000 Wörter, wobei das Wörterbuch direkt in das Binary eingebettet ist und bei jedem Start die Präfixsuche neu aufgebaut wird. Aber riesige Datenbanken mit Lemmatisierung, Etymologie usw. können auf Dutzende Gigabyte anwachsen. Mein Ziel war vollständig unmittelbare Suche auf Tastatureingabeebene, daher war diese Struktur nötig. Es steckte auch viel Arbeit darin, weshalb ich mich entschieden habe, spätere Versionen kostenpflichtig zu machen tsk Github Website der Bezahlversion (derzeit wegen Problemen mit der Code-Signierung unter Windows offline). Für die meisten anderen Anwendungsfälle ist eine Serveranfrage deutlich praktischer. Es gibt kaum einen Grund, ein riesiges Wörterbuch komplett herunterzuladen, daher ist auch ein hybrider Ansatz ziemlich vernünftig (z. B. die häufigsten 10.000 Wörter lokal cachen und für seltenere Wörter mit dem Server sprechen)Wenn man so etwas sieht, gibt es viele Punkte, die nur auf böse Absicht hindeuten. Der Maintainer antwortete: „Der Nutzer hat die Scan-Funktion selbst aktiviert, und das Übersetzungsverhalten wird ausgelöst, wenn Text markiert wird … warum markiert man vertrauliche Daten überhaupt für eine Übersetzungsanfrage?“
Ich respektiere den enormen Aufwand, der in Debian fließt, aber ich mochte diesen „Maximalismus“ des Paketmanagers nie. Wenn man z. B.
fooinstallieren will, wird am Ende gleich möglichst jede verwandte Software mit installiert, und wenn ein Netzwerk-Daemon dabei ist, wird er sofort gestartet. Ich weiß, dass es ein Flag gibt, um die Installation von „empfohlenen Paketen“ zu verhindern, aber die Standardeinstellung wirkt auf mich eher benutzerunfreundlichaptoderaptitudegibt es eine Installationsvorschau, und der Nutzer kann das auswählen. Zwischen Minimalismus und Benutzerfreundlichkeit besteht eine echte Spannung. Zur Veröffentlichung von Debian 13 hieß es auch, „Debian sei nie eine benutzerfreundliche Distribution“. Ich persönlich bevorzuge eher eine „stabile, solide und benutzerfreundliche Distribution“ als ein „IKEA im DIY-für-DIY-Stil“. Und fortgeschrittene Nutzer können das Verhalten jederzeit ändern. Wenn man den Standard dauerhaft anpassen will, geht das unter/etc/apt/conf.d/, und für Einzelfälle kann man--no-install-recommendsverwendenAPT::Install-Recommendsstandardmäßigfalseund wurde mit Debian 6.0 Squeeze (2011-02-06) auftruegeändert. Damals mochte ich nicht, dass auf Debian und Ubuntu so viele unnötige Pakete installiert wurden. Rückblickend denke ich aber, dass die Trennung zwischen Recommends und Suggests oft unscharf war und es letztlich besser ist, „Recommends“ standardmäßig zu installieren und dem Nutzer ein Opt-out zu geben. Trotzdem deaktiviere ich auf Systemen, die ich selbst verwalte, die automatische Installation empfohlener Pakete weiterhin--install-recommendsder Standard ist, finde ich an sich in Ordnung. Die feine Unterscheidung zwischen Recommends als „die meisten von uns wollen das“ und Suggests als „Sonderfunktion für wenige“ ist nicht schlecht. Aber auch ich halte es für problematisch, wenn einzelne Maintainer das Recommends-Feld missbrauchen. Wenn bei der Installation eines Archivierungswerkzeugs plötzlich ein bestimmtes Init-System mit aufgezwungen wird, ist das einfach absurd (ich schaue auffile-rollerund einige GNOME-Teams)Ich verstehe nicht, warum all das nicht offline funktioniert. Ein vollständiges chinesisches Wörterbuch hat weniger als 400.000 Wörter, und selbst mit nur 1 KB pro Wort würden 400 MB reichen. Das ist lokal durchaus machbar; auf Netzwerkverbindungen angewiesen zu sein, ist einfach schlechtes Design
Solche Themen machen mich unglaublich wütend. Das ist absolut inakzeptabel