Eine XSS Schwachstelle im Markdown-Parser von Lemmy-UI (#1895) erlaubt es Javascript Code in Custom Emojis zu injecten.
Die Vulnerability wurde auf anderen Instanzen, darunter auch lemmy.world
, bereits ausgenutzt um u.a. JWTs von Usern und insbesondere Admins zu erbeuten.
Ich stehe im Kontakt mit anderen Lemmy-Admins und Devs und werde Updates hier kommentieren.
Grob zusammengefasst funktioniert die Attacke wie folgt: Custom Emojis haben einen custom Renderer. Wird ein custom emoji verwendet, wird auch der von der XSS Schwachstelle betroffene custom Renderer aktiviert. Der normale Markdown Renderer ist nicht betroffen. Angreifer können somit die Schwachstelle in existierenden custom Emojis ausnutzen, ohne dass das Emoji selbst malicious ist.
Es ist nicht genau klar, wie weitreichend die Vulnerability ist. Empfohlene Mitigations wurden aber von unserer Seite bereits unternommen:
- Die Datenbank wurde auf malicious Posts, Comments, etc untersucht.
- Alle JWTs wurden zurück gesetzt, wodruch sich alle User neu anmelden müssen.
- Föderation bleibt bis auf weiteres aktiv, da nur local custom emojis und keine federated custom emojis betroffen sein sollen. Die QuantenToast Instanz hat aktuell keine custom Emojis, sollte somit auch nicht betroffen sein.
Ein Fix wurde bereits erstellt; aber noch nicht released. Zuständige Admins und Devs sind informiert und untersuchen den Sachverhalt.
Mehr Informationen:
- https://lemm.ee/post/942359
- https://github.com/LemmyNet/lemmy-ui/issues/1895
- https://github.com/LemmyNet/lemmy-ui/pull/1897
- https://lemmy.world/comment/1064402
Update 17:56 Uhr:
Es gibt einen Release mit einem Fix. Wir haben das lemmy-ui
Update für 0.18.2-rc.1 aufgespielt.
Update 20:36 Uhr: Update auf 0.18.2-rc.2