
CVE-2023-44451, CVE-2023-52076: RCE-Schwachstelle betrifft beliebte Linux-Distributionen wie Mint, Kali, Parrot, Manjaro usw. EPUB-Datei-Parsing: Directory Traversal Remote Code Execution
RCE-Schwachstelle betrifft beliebte Linux-Distributionen, darunter Mint, Kali, Parrot, Manjaro usw. EPUB-Dateiparsing – Directory Traversal Remote Code Execution
Eine kritische Path-Traversal- und Arbitrary-File-Write-Schwachstelle wurde in der Standard-Dokumentbetrachter-Software von Linux' MATE/ und Linux Mint entdeckt. Sie betrifft beliebte Betriebssysteme wie Kali Linux, Parrot Security OS, Ubuntu-Mate, Linux Mint, Xubuntu sowie alle anderen Betriebssysteme, die MATE oder Atril/Xreader als Standard-Dokumentbetrachter verwenden.
Die Schwachstelle existiert im Atril Document Viewer und im Xreader Document Viewer, die die Standard-Dokumentbetrachter der MATE-Umgebung bzw. von Linux Mint sind. Atril ist der Standard-Dokumentleser für Kali Linux, Ubuntu-Mate, Parrot Security OS und Xubuntu, und Xreader ist der Standard-Dokumentleser für Linux Mint.
Diese Schwachstelle ist in der Lage, beliebige Dateien an beliebigen Stellen im Dateisystem zu schreiben, auf die der Benutzer, der ein präpariertes Dokument öffnet, Zugriff hat. Die einzige Einschränkung besteht darin, dass diese Schwachstelle nicht ausgenutzt werden kann, um vorhandene Dateien zu überschreiben, aber das hält einen Angreifer nicht davon ab, Remote Command Execution auf dem Zielsystem zu erreichen.
Diese Schwachstelle kann nicht ausgenutzt werden, um vorhandene Dateien zu überschreiben; sie kann nur neue Dateien an beliebigen angegebenen Orten erstellen, aber das hält uns nicht davon ab, RCE zu erreichen. Ich habe versucht, die Schwachstelle zu nutzen, um einen .desktop-Eintrag unter $HOME/.config/autostart zu schreiben, und mich dann ab- und wieder angemeldet. Der bösartige .desktop-Eintrag wurde ausgelöst und ich erhielt Remote Command Execution. Ich habe auch versucht, eine authorized_keys-Datei im .ssh/-Verzeichnis zu platzieren und RCE über SSH zu erreichen. Hinweis: Wenn ein Verzeichnis nicht vorhanden ist, wird das Verzeichnis automatisch erstellt.
Wer kennt sich mit dem Ebook-Format aus? Ist nicht jeder auf PDF umgestiegen?
Die Antwort ist nein, EPUB ist immer noch ein beliebtes und leistungsfähiges Dokumentformat, aber viele Leute bevorzugen PDF. Die meisten von ihnen sind mit PDFs vertraut. Also habe ich versucht, die Auswirkungen dieser Schwachstelle zu maximieren. Eine weitere interessante Sache, die mir auffiel, war, dass der anfällige Dokumentbetrachter (Atril/Xreader), wenn man das .epub-Dokument in etwas.pdf umbenennt, versucht, die Datei etwas.pdf zu öffnen und sie als EPUB-Dokument liest, da er für das Lesen von sowohl EPUB als auch PDF verantwortlich ist. Er unterstützt auch viele andere Dokumentformate. Mit anderen Worten: Wir können unser präpariertes etwas.epub in etwas.pdf umbenennen und es dann an das Ziel senden, um RCE auf dem Ziel zu erreichen.
Also ist alles gut, wir könnten einen Exploit erstellen, der ein epub/pdf-Paar erstellt, um bösartige .desktop-Einträge unter /home//.config/autostart/ zu schreiben. Aber es gibt ein kleines Problem: Der Benutzername des Zielbenutzers ist für eine erfolgreiche Ausnutzung dieses Fehlers erforderlich. Was, wenn wir den Benutzernamen nicht kennen? Kein einfaches RCE? Könntest du den Benutzernamen erraten? Muss man zufällige gängige Benutzernamen ausprobieren? Schauen wir, was ich herausgefunden habe..
Bei weiterer Analyse fand ich heraus, dass wir /proc/self/cwd verwenden können, um auf das Home-Verzeichnis des Benutzers zuzugreifen, wenn er das präparierte Dokument herunterlädt und es irgendwo in seinem Home-Verzeichnis öffnet, z. B. im ~/Downloads/- oder ~/Documents/-Verzeichnis. So können wir den Path-Traversal-Fehler ausnutzen, um RCE zu erreichen, indem wir einfach das Gadget ../../../../../proc/self/cwd/../.config/autostart/exploit.desktop verwenden.
Ich habe einen voll funktionsfähigen Exploit für diese Schwachstelle erstellt (exploit_rce.sh) sowie ein Skript zum Schreiben und Einbinden benutzerdefinierter Dateien für Path Traversal (exploit_file_write.sh).
HINWEIS: In MATE's Atril ist die Schwachstelle nicht behoben; die Entwickler patchen die Schwachstelle derzeit. Deshalb habe ich ein Erkennungsskript (detect.sh) hinzugefügt, um bösartige EPUB-Dokumente zu erkennen und zu bereinigen, bevor sie geöffnet werden.
