Spring RCE: HttpInvokerServiceExporter (CVE-2016-1000027)

Die Sicherheitslücke CVE-2016-1000027 wird von Dependency-Checks bei allen neueren Versionen des jadice web toolkit gemeldet.

Herkunft

Die Schwachstelle kommt durch Spring Core in die jadice Produkte. Die CVE wurde schon vor über 2 Jahren gemeldet, wird aber wohl erst seit 11/2022 von einigen Dependency Checkern (SonarQube, ...) als Critical gemeldet.

Bewertung

not affected

Das grundsätzliche Problem ist, dass die Serialisierung des Java JDK unsicher ist. Spring Framework (Spring Core) bietet in Version 5.x den Spring HTTP Invoker an (welcher jedoch deprecated ist), der diese unsichere Java De-Serialisierung verwendet. Diese Klasse wird von jadice nicht verwendet, wodurch jadice nicht von der Schwachstelle betroffen ist.

Eine Korrektur der Lücke wird von Pivotal/Spring nicht angeboten, da diese in der 5er Versionslinie keine Funktionalität entfernen können, ohne bestehende Anwendungen damit zu beeinträchtigen. Gleichzeitig sind die Spring-Entwickler nicht gewillt, ein als Deprecated markiertes Feature, welches per Opt-In aktiviert werden muss, noch zu fixen. Die offizielle Empfehlung seitens Pivotal lautet daher das Upgrade auf Spring Framework 6 / Spring Boot 3 vorzunehmen, da dort die betroffene Klasse entfernt wurde. Diese Migration ist jedoch äußerst aufwendig und daher keine kurzfristige Lösung.

Abhilfe

  • Einsatz von Java 17
  • Migration auf jadice web toolkit >= 5.12.0.0 (verfügbar seit 01/2023)


Quellen