Die Sicherheitslücke CVE-2016-1000027 wird von Dependency-Checks bei allen neueren Versionen des jadice web toolkit gefunden.
Herkunft
Die CVE 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
False positive |
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 (welcher jedoch deprecated ist) an, der die unsichere Java De-Serialisierung verwendet. Diese Klasse wird von jadice nicht verwendet, daher ist die CVE nicht zutreffend.
Ein Fix wird von Spring nicht angeboten, da sie in der 5er Versionslinie keine Funktionalität entfernen können, ohne bestehende Anwendungen damit zu beeinträchtigen. Gleichzeitig sind die Spring Entwickler nicht gewollt, ein als Deprecated markiertes Feature, welches per Opt-In aktiviert werden muss noch zu fixen. Die offizielle Empfehlung seitens Spring lautet daher das Upgrade auf Spring Framework 6 / Spring Boot 3, 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 (sobald dieses verfügbar ist)