„`html
Zusammenfassung
CVE-2026-47065 beschreibt zwei kritische Sicherheitslücken in Java-Deserialisierungsmechanismen, die es Angreifern ermöglichen, Sicherheitsfilter zu umgehen. Die Schwachstellen betreffen die Verarbeitung von serialisierten Objekten, insbesondere bei der Verwendung von Java Proxy-Klassen und klassenspezifischen Initialisierern. Mit einem CVSS-Score von 9.8 handelt es sich um eine kritische Vulnerabilität mit Netzwerkzugriffsvektor.
Betroffene Systeme
Die Sicherheitslücke betrifft verschiedene Systeme, die Java-Deserialisierung ohne entsprechende Sicherheitsüberprüfungen implementieren. Besonders gefährdet sind Anwendungen, die ObjectInputStream mit unzureichend konfigurierten accept-Filter-Mechanismen nutzen.
Technische Details
ZDRES-232 – resolveProxyClass Bypass: Wenn ein serialisierter Stream einen TC_PROXYCLASSDESC-Marker enthält, wird die JDK-Methode ObjectInputStream.readProxyDesc() aufgerufen. Diese leitet zur Standard-Implementierung von resolveProxyClass() weiter, die für JEDE Interface-Klasse Class.forName() ausführt. Dieser Prozess umgeht die Whitelist akzeptierter Klassen vollständig.
ZDRES-233 – Static Initializer Execution: Die Methode Class.forName(name, initialize=true, classLoader) in readClassDescriptor() triggert den statischen Initialisierer (<clinit>) auch für auf der Whitelist stehende Klassen, bevor Instanzen konstruiert werden. Angreifer können dadurch Code mit Nebenwirkungen ausführen, wenn Klassenamen auf der Allow-List vorhanden sind.
Empfohlene Massnahmen
- Deserialisierungsprozesse ĂĽberprĂĽfen und restriktive Klassenfilter implementieren
- resolveProxyClass() überschreiben und zusätzliche Validierungen durchführen
- Java-Version mit gepatchten Deserialisierungsmechanismen einspielen
- Serialisierte Daten ausschlieĂźlich aus vertrauenswĂĽrdigen Quellen akzeptieren
- ObjectInputStream-Subklassen mit strikten SicherheitsĂĽberprĂĽfungen verwenden
Bewertung
Die Schwachstellen wurden vom Anbieter vollständig behoben. Dennoch sollten Systembetreiber umgehend Sicherheitsaudits durchführen und ihre Java-Umgebungen überprüfen. Die Kombination beider Bypass-Methoden ermöglicht Remote Code Execution über Netzwerk ohne Authentifizierung.
„`