Im Bericht steht “Die Log4J Versionen 1.x sind von der aktuellen Schwachstelle nach aktueller Kenntnis nicht betroffen”. Verstehe ich es richtig, dass in OpenEMS “pax-logging-log4j1” und somit Log4J-1.x verwendet wird?
Wir haben die Abhängigkeit zu “pax-logging-log4j1” natürlich aktualisiert, aber wenn “nur” Log4J-1.x verwendet wird, besteht vermutlich nur eine geringe Wahrscheinlichkeit, dass das System angreifbar war.
richtig, in OpenEMS wird pax-logging-log4j1 verwendet. Diese Version ist nur unter ganz bestimmten Voraussetzungen von dem Problem betroffen - die aber in OpenEMS standardmäßig nicht verwendet werden:
Die Pax-Logging Versionen wurden in diesem Commit aktualisiert:
Um übrigens auf die Version 2 von Log4j upzudaten, müssten die Logging Appender angepasst werden (siehe z. B. hier: openems/WebsocketApi.java at develop · OpenEMS/openems · GitHub). Das wäre sicher trotzdem ein sinnvoller Schritt; dass diese Version obsolet ist, war mir bisher nicht bewusst.
vielen Dank für die schnelle Antwort und die Bestätigung.
Auf Version 2 von Log4j upzudaten klingt sinnvoll. Ich hab mir das gerade mal angeschaut und habe testweise in den Dependencies '‘pax-logging-log4j2’ statt “pax-logging-log4j1” eingetragen. Auf der Konsole sehe ich damit weiterhin Log-Ausgaben, die Logs werden aber dann aber z.B. nicht mehr per WebSocket an das Frontend geschickt.
Hast Du für mich vielleicht zusätzlich zum Link auf den Beispiel-Appender aus der letzten Antwort ein Beispiel-Code-Fragment, an dem ich mir abschauen kann, wie die Umstellung grob aussieht? Das würde mir sehr helfen.
Kurzer Nachtrag. Mittlerweile werden die Logs auch wieder per WebSocket an das UI geschickt. Dazu musste ich zusätzlich zum Versionsumstieg noch die Konfiguration des Loggers an zwei Stellen in OpenEMS anpassen. Es gibt einen Appender namens paxosgi, der die Weiterleitung der PaxEvents übernimmt.
Hier der entsprechende Ausschnitt aus der Konfiguration: