
CVE-2023-50254: PoC-Exploit für die Deepin-reader-RCE, der ungepatchte Deepin-Linux-Desktops betrifft. Der Standard-Dokumentbetrachter von Deepin Linux, die Software „deepin-reader", leidet aufgrund eines Designfehlers unter einer schwerwiegenden Schwachstelle, die über manipulierte DOCX-Dokumente zu einer Remote-Befehlsausführung führt.
CVE-2023-50254: PoC-Exploit für Deepin-reader RCE, das nicht gepatchte Deepin-Linux-Desktops betrifft. Der Standard-Dokumentbetrachter „deepin-reader" von Deepin Linux weist eine schwerwiegende Schwachstelle aufgrund eines Designfehlers auf, die zur Remote-Befehlsausführung über präparierte docx-Dokumente führt.
Details
Deepin-reader ist der Standard-Dokumentbetrachter für das Betriebssystem Deepin Linux. Der deepin-reader führt bei der Verarbeitung des docx-Dokumentformats einige Shell-Befehlsoperationen aus.
Beim Öffnen eines docx-Dokuments erstellt deepin-reader ein temporäres Verzeichnis unter /tmp und legt das docx-Dokument in diesem Verzeichnis ab.
Anschließend ruft deepin-reader den Shell-Befehl „unzip" auf, um die docx-Datei zu extrahieren.
Nach der Extraktion ruft deepin-reader den Befehl „pandoc" auf, um die docx-Datei in eine HTML-Datei mit dem Namen „temp.html" im Verzeichnis word/ zu konvertieren (das erstellt wird, wenn die docx-Datei mit unzip extrahiert wird). Der Befehl sieht in etwa so aus: „pandoc temp.docx -o word/temp.html
Anschließend versucht deepin-reader, diese HTML-Datei in PDF zu konvertieren und das PDF zu öffnen.
Dies geschieht, wenn wir eine docx-Datei unter Deepin Linux OS öffnen.

Dieses Verhalten kann ausgenutzt werden, indem ein Symlink mit dem Namen word/temp.html in einem präparierten bösartigen docx platziert wird, der auf eine beliebige Datei im Zielsystem verweist.
Beim Öffnen der docx-Datei schreibt pandoc also in die Systemdatei, auf die der Symlink word/temp.html zeigt.
Dies ist eine Dateiüberschreibungs-Schwachstelle. Eine Remote-Codeausführung kann erreicht werden, indem Dateien wie .bash_rc, .bash_login usw. überschrieben werden. Die RCE wird ausgelöst, wenn der Benutzer das Terminal öffnet.
Advisory: https://github.com/linuxdeepin/developer-center/security/advisories/GHSA-q9jr-726g-9495