Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Warnung

Achtung! 
In allen Nuclos Versionen bis 4.20222023.13 7 ist die Remoting Schnittstelle, welche vom Rich-Client verwendet wird, angreifbar. 
Ursache und Maßnahmen werden nachfolgende erläutert.

...

In einer weiteren Analyse lässt sich die Ausnutzung auf die Java Serialisierung zurückführen, im spezifischen Fall wird eine Komponente von Spring (HttpInvoker) angreifbar für eine sogenannte Remote Code Execution.
Dies bedeutet, mit einer präparierter Anfrage deserialisiert Java/Spring das ankommende Binär-Objekt zu einer Java-Klasse welche wenn selbst verändert Mittels Reflection Java-Programmcode ausführt, der Angreifer kann auf dem entfernten Server jegliches Kommando ausführen als Unterprozess vom Serverprozess.

Möglich wird dies in Nuclos dadurch, dass die Kommunikation mit dem Rich-Client über besagte Schnittstelle (Java RMI - Remote Method Invocation) läuft welche über HTTP/HTTPS zu dem Server transportiert wird.
Jeder der Zugriff auf den die Remoting Schnittstelle des Nuclos-Server (Webclient / REST / Richclient) Servers hat, kann eine solche präparierte Anfrage an den Server senden. 

Da die Kommunikation in beider Richtung über die gleiche Implementation/Schnittstelle läuft, könnte auch ein kompromittierter Server an Richclients schadhaften Code verteilen.

Ziel-Url ist zum Beispiel:
<base-server-url>/<application context e.g nuclos>/remoting/ServerMetaService

Maßnahmen für Versionen <= 4.2023.7

  • Sollte Nuclos im Internet erreichbar sein per HTTP auch für den Richclient sollte umgehend im Proxy oder Webserver die Remoting Schnittstelle geblockt werden und/oder nur für einen vertrauenswürdigen IP-Bereich freigegeben werden.
    Dies betrifft alle URLs die */remoting/* enthalten. 

  • Mit Nuclos Version 4.2022.14 wird es in der Installation einen Punkt geben der die Kommunikation für den Richclient/Remoting einschränkt, außerdem wird es einen neuen Server Parameter geben wurde ein neuer System Parameter eingeführt um IP-Bereiche zu definieren die für die Remoting Schnittstelle zugelassen sind.
    Security-Parameter (SECURITY_IP_ALLOW_REMOTING) 


Warnung

Ein Update auf Nuclos 4.2023.8 wird dringend empfohlen!

Version 4.2023.8

Mit dieser Version steht erstmalig eine komplett auf das JSON Format umgestellte Remoting Schnittstelle zur Verfügung. Java RMI wird zusätzlich standardmäßig deaktiviert, kann aber mittels des Eintrages remoting.java-rmi.enabled=true in der server.properties wieder aktiviert werden. Achtung, wird vom Installer wieder zurückgesetzt!

Weitere Informationen zur Umstellung finden Sie im Ticket

Jira
serverNuclos Issue Tracking
serverId7d748b8d-d12e-3624-b22b-ebdfde2a9938
keyNUCLOS-9738