Java hat innerhalb von zwei Tagen zwei Sicherheitsreleases erhalten. Am 20. Oktober 2026 behob Oracles vierteljährliches Critical Patch Update 55 Schwachstellen in Java SE, von denen 49 ohne Anmeldung über das Netzwerk ausnutzbar sind. Am 21. Oktober folgte ein außerplanmäßiger Security Alert von Oracle für CVE-2026-91403, eine Lücke in der TLS-Implementierung von Java (JSSE) mit einem CVSS-Wert von 9.1, und zu den betroffenen Versionen gehören auch die, die am Vortag erschienen waren. Die japanische IPA warnte am 21. Oktober, dass eine Ausnutzung Anwendungen zum Absturz bringen oder einem Angreifer die Kontrolle über den Rechner verschaffen kann. Dieser Leitfaden zeigt, auf welche Versionen Sie wechseln sollten, wie Sie jede Java-Laufzeit finden, die Sie betreiben, und wie Sie prüfen, dass das Update tatsächlich verwendet wird.
Was am 20. Oktober behoben wurde
Das Critical Patch Update vom Oktober betrifft Oracle Java SE 27, 26.0.2, 25.0.4.1, 21.0.12.1, 17.0.20.1, 11.0.32.1 und 8u503 und damit auch jedes ältere Update dieser Versionen. Keiner der 55 Java-Fixes ist als kritisch eingestuft, aber 49 Lücken lassen sich ohne Authentifizierung aus der Ferne ausnutzen.
| Java-Version | Betroffen | Behoben in (20. Oktober) |
|---|---|---|
| 27 | 27 | 27.0.1 |
| 25 (LTS) | bis 25.0.4.1 | 25.0.5 |
| 21 (LTS) | bis 21.0.12.1 | 21.0.13 |
| 17 (LTS) | bis 17.0.20.1 | 17.0.21 |
| 11 (LTS) | bis 11.0.32.1 | 11.0.33 |
| 8 (LTS) | bis 8u503 | 8u511 |
Java 26 hat keinen Fix erhalten: Die Updates für diese Version endeten im September 2026. Wenn Sie noch 26 betreiben, wechseln Sie auf 27 oder auf das Long-Term-Release 25.
CVE-2026-91403: auch die neuen Versionen sind betroffen
CVE-2026-91403 steckt in JSSE, dem Teil von Java, der TLS-Verbindungen verarbeitet. Laut Oracle ist die Lücke leicht auszunutzen, erfordert weder ein Konto noch eine Benutzerinteraktion und ist über das Netzwerk über mehrere Protokolle erreichbar, zum Beispiel über einen Webdienst, der Daten an die betroffenen APIs weitergibt. Ein erfolgreicher Angriff kann kritische Daten lesen und verändern (CVSS 9.1, AV:N/AC:L/PR:N/UI:N, hohe Auswirkung auf Vertraulichkeit und Integrität).
Betroffen sind genau die Versionen vom 20. Oktober: Java SE 8u511, 11.0.33, 17.0.21, 21.0.13, 25.0.5 und 27.0.1 sowie GraalVM for JDK 17.0.21 und 21.0.13 und GraalVM Enterprise 21.3.20. Das Oktober-Update allein schützt Sie also nicht vor dieser Lücke.
Oracle liefert den Fix für Oracle JDK über das im Security Alert genannte Patch-Dokument aus, für Kunden mit Zugang zu My Oracle Support. Zum Zeitpunkt der Veröffentlichung nennen die öffentlichen Seiten von Oracle dafür noch keine neuen Versionsnummern, und Oracle hat nicht mitgeteilt, ob die Lücke bereits ausgenutzt wird. Das OpenJDK-Projekt hat am 21. Oktober ein eigenes Advisory veröffentlicht, daher erhalten Builds auf OpenJDK-Basis (Eclipse Temurin, Amazon Corretto, Azul Zulu, Red Hat und die Pakete der Linux-Distributionen) ihre Fixes von diesen Anbietern. Prüfen Sie die Sicherheitsseite Ihres Anbieters und installieren Sie das erste Release, das CVE-2026-91403 nennt. Wir aktualisieren diesen Artikel, sobald öffentliche Versionsnummern verfügbar sind.
Schritt 1: jede Java-Laufzeit finden
java -version zeigt nur das Java in Ihrem PATH. Auf Servern laufen oft mehrere: eines, das mit einer Anwendung mitgeliefert wird, eines in einem Container, eines, das vor Jahren unter /opt installiert wurde.
Unter Linux listen Sie jede Java-Binärdatei mit ihrer Version auf:
sudo find / -xdev -type f -name java -perm -u+x 2>/dev/null | while read -r j; do echo "$j: $("$j" -version 2>&1 | head -n 1)"; done
Zeigen Sie an, welches Java die laufenden Prozesse tatsächlich verwenden:
for p in $(pgrep -f java); do echo "$p $(sudo readlink -f /proc/$p/exe)"; done
Prüfen Sie unter Docker die Java-Version jedes laufenden Containers:
for c in $(docker ps --format '{{.Names}}'); do echo "$c: $(docker exec "$c" java -version 2>&1 | head -n 1)"; done
Unter Windows, in PowerShell:
Get-ChildItem 'C:\Program Files','C:\Program Files (x86)' -Recurse -Filter java.exe -ErrorAction SilentlyContinue | ForEach-Object { "$($_.FullName): $((& $_.FullName -version 2>&1 | Select-Object -First 1))" }
Vergessen Sie keine Software, die ihr eigenes Java mitbringt, etwa Jenkins, Elasticsearch, Keycloak, Atlassian-Produkte, Tomcat-Bundles, Build-Agents und Gameserver.
Schritt 2: aktualisieren
Ubuntu und Debian (OpenJDK-Pakete):
sudo apt update && apt list --upgradable 2>/dev/null | grep -i jdk
sudo apt install --only-upgrade 'openjdk-*'
Red Hat, Rocky, AlmaLinux und Fedora:
sudo dnf upgrade 'java-*-openjdk*'
Oracle JDK: Installieren Sie das Oktober-Release für Ihre Version von der Downloadseite von Oracle und anschließend so bald wie möglich den Patch für CVE-2026-91403 aus My Oracle Support. Prüfen Sie vorher die Lizenz: Ab 21.0.13 stehen Updates für Oracle JDK 21 nicht mehr unter den kostenlosen No-Fee Terms and Conditions, und für die kommerzielle Nutzung kann ein kostenpflichtiges Abonnement nötig sein. Installieren Sie bei anderen OpenJDK-Builds wie Temurin oder Corretto das neueste Release des Anbieters.
Container: Ein Update auf dem Host ändert nichts an einem Container. Ziehen Sie das aktualisierte Basis-Image, bauen Sie Ihre Images neu und deployen Sie sie erneut.
Schritt 3: neu starten und prüfen
Java lädt seinen Code beim Start, daher behält ein laufender Dienst die alte Version, bis er neu gestartet wird. Nach einem Paket-Update unter Linux listet dieser Befehl die Java-Prozesse auf, die noch die ersetzten Dateien ausführen:
sudo ls -l /proc/*/exe 2>/dev/null | grep -i 'java.*(deleted)'
Starten Sie diese Dienste neu, führen Sie die Befehle aus Schritt 1 erneut aus und vergleichen Sie die Versionen mit der Tabelle oben.
Bis der Fix für CVE-2026-91403 installiert ist
- Lassen Sie nur die Systeme über das Netzwerk auf Java-Dienste zugreifen, die das wirklich brauchen, insbesondere bei Diensten, die TLS-Verbindungen aus dem Internet annehmen.
- Terminieren Sie TLS-Verbindungen nach Möglichkeit vor dem Java-Dienst, zum Beispiel in einem Reverse Proxy, damit weniger nicht vertrauenswürdige TLS-Verbindungen JSSE erreichen. Das verringert die Angriffsfläche, ersetzt aber nicht den Fix.
- Beobachten Sie die Logs von Java-Diensten mit Internetzugang auf ungewöhnliche TLS-Fehler und Abstürze, und halten Sie Backups bereit.
Wie es weitergeht
Oracle hat Java auf häufigere Sicherheitsreleases umgestellt. Das nächste, ein Critical Security Patch Update, ist für den 17. November 2026 geplant, das nächste vierteljährliche Critical Patch Update für den 19. Januar 2027. Tragen Sie beide Termine in Ihren Kalender ein und wiederholen Sie die drei Schritte oben jedes Mal.
Wenn Sie nicht sicher sind, auf welchen Ihrer Systeme Java läuft, oder ein Java-Dienst bereits angegriffen worden sein könnte, helfen Ihnen unsere Teams für Managed Security und Incident Response.
