Apache Guacamole Schwachstelle durch Java und C Unicode Unterschiede
Sonarsource.com berichtet über kritische Sicherheitslücken im beliebten Remote-Desktop-Gateway Apache Guacamole, die auf das schlechte Zusammenspiel der Zeichenkodierung von Java mit anderen Programmiersprachen zurückzuführen sind. Diese Schwachstellen CVE-2023-30575 und CVE-2023-30576 ermögliche es Angreifern mit geringen Benutzerrechten ermöglicht, durch Angriffe auf die externe Web-Oberfläche Remote-Code auf dem Guacamole-Server auszuführen.
Die Interoperabilität zwischen der Java-Komponente und dem C-Backend von Guacamole steht dabei im Mittelpunkt. Insbesondere führen Unterschiede in der Verarbeitung von Unicode-Zeichenketten durch Java in sog. Compact Strings (ab Java 9) zu unerwartetem Verhalten, das Schwachstellen öffnet, die Angreifer ausnutzen können. Dies verdeutlicht das Risiko, das mit der Verwendung unterschiedlicher Technologien in einem Projekt einhergeht.
Die Entdecker der Schwachstellen haben ihre Erkenntnisse auf der Konferenz Hexacon23 präsentiert, und ein Video dazu ist auf YouTube unter dem Titel “HEXACON2023 - An Avocado Nightmare by Stefan Schiller” verfĂĽgbar. Die SicherheitslĂĽcken wurden im Mai 2023 mit der Version 1.5.2 von Apache Guacamole behoben, und es gibt keine Anzeichen dafĂĽr, dass sie vor der Behebung ausgenutzt wurden.