Java kreeg in twee dagen twee beveiligingsreleases. Op 20 oktober 2026 dichtte de driemaandelijkse Critical Patch Update van Oracle 55 kwetsbaarheden in Java SE, waarvan er 49 zonder inloggen via het netwerk te misbruiken zijn. Op 21 oktober volgde Oracle met een extra Security Alert buiten de vaste cyclus voor CVE-2026-91403, een fout in de TLS-implementatie van Java (JSSE) met een CVSS-score van 9.1, en de getroffen versies omvatten ook die van de dag ervoor. Het Japanse IPA waarschuwde op 21 oktober dat misbruik applicaties kan laten crashen of een aanvaller de controle over de computer kan geven. Deze gids laat zien naar welke versies u overstapt, hoe u elke Java-runtime vindt die u draait en hoe u controleert dat de update echt in gebruik is.
Wat er op 20 oktober is opgelost
De Critical Patch Update van oktober treft Oracle Java SE 27, 26.0.2, 25.0.4.1, 21.0.12.1, 17.0.20.1, 11.0.32.1 en 8u503, en daarmee elke oudere update van die versies. Geen van de 55 Java-fixes is als kritiek beoordeeld, maar 49 zijn op afstand zonder authenticatie te misbruiken.
| Java-versie | Kwetsbaar | Opgelost in (20 oktober) |
|---|---|---|
| 27 | 27 | 27.0.1 |
| 25 (LTS) | tot en met 25.0.4.1 | 25.0.5 |
| 21 (LTS) | tot en met 21.0.12.1 | 21.0.13 |
| 17 (LTS) | tot en met 17.0.20.1 | 17.0.21 |
| 11 (LTS) | tot en met 11.0.32.1 | 11.0.33 |
| 8 (LTS) | tot en met 8u503 | 8u511 |
Java 26 kreeg geen fix: de updates daarvoor zijn in september 2026 gestopt. Draait u 26 nog, stap dan over naar 27 of naar de langetermijnrelease 25.
CVE-2026-91403: ook de nieuwe versies zijn getroffen
CVE-2026-91403 zit in JSSE, het deel van Java dat TLS-verbindingen afhandelt. Volgens Oracle is de kwetsbaarheid eenvoudig te misbruiken, is er geen account en geen handeling van een gebruiker voor nodig, en is ze via het netwerk over meerdere protocollen bereikbaar, bijvoorbeeld via een webservice die gegevens doorgeeft aan de getroffen API's. Een geslaagde aanval kan kritieke gegevens lezen en wijzigen (CVSS 9.1, AV:N/AC:L/PR:N/UI:N, hoge impact op vertrouwelijkheid en integriteit).
De getroffen versies zijn precies die van 20 oktober: Java SE 8u511, 11.0.33, 17.0.21, 21.0.13, 25.0.5 en 27.0.1, en daarnaast GraalVM for JDK 17.0.21 en 21.0.13 en GraalVM Enterprise 21.3.20. De update van oktober alleen beschermt u dus niet tegen deze kwetsbaarheid.
Oracle levert de fix voor Oracle JDK via het patchdocument dat in de Security Alert wordt genoemd, voor klanten met toegang tot My Oracle Support. Op het moment van schrijven vermelden de openbare pagina's van Oracle daarvoor nog geen nieuwe versienummers, en Oracle heeft niet gezegd of de kwetsbaarheid al wordt misbruikt. Het OpenJDK-project publiceerde op 21 oktober een eigen advisory, dus builds op basis van OpenJDK (Eclipse Temurin, Amazon Corretto, Azul Zulu, Red Hat en de pakketten van Linuxdistributies) krijgen hun fixes van die leveranciers. Kijk op de beveiligingspagina van uw leverancier en installeer de eerste release die CVE-2026-91403 noemt. Wij werken dit artikel bij zodra er openbare versienummers zijn.
Stap 1: vind elke Java-runtime
java -version toont alleen de Java in uw PATH. Op servers draaien er vaak meerdere: een die met een applicatie is meegeleverd, een in een container, een die jaren geleden in /opt is geïnstalleerd.
Toon op Linux elk Java-binary met de bijbehorende versie:
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
Laat zien welke Java de draaiende processen werkelijk gebruiken:
for p in $(pgrep -f java); do echo "$p $(sudo readlink -f /proc/$p/exe)"; done
Controleer in Docker de Java-versie van elke draaiende container:
for c in $(docker ps --format '{{.Names}}'); do echo "$c: $(docker exec "$c" java -version 2>&1 | head -n 1)"; done
Op 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))" }
Vergeet geen software die zijn eigen Java meebrengt, zoals Jenkins, Elasticsearch, Keycloak, producten van Atlassian, Tomcat-bundels, build-agents en gameservers.
Stap 2: werk bij
Ubuntu en Debian (OpenJDK-pakketten):
sudo apt update && apt list --upgradable 2>/dev/null | grep -i jdk
sudo apt install --only-upgrade 'openjdk-*'
Red Hat, Rocky, AlmaLinux en Fedora:
sudo dnf upgrade 'java-*-openjdk*'
Oracle JDK: installeer de oktoberrelease voor uw versie via de downloadpagina van Oracle, en daarna zo snel mogelijk de patch voor CVE-2026-91403 via My Oracle Support. Controleer eerst de licentie: vanaf 21.0.13 vallen updates van Oracle JDK 21 niet meer onder de gratis No-Fee Terms and Conditions, en voor commercieel gebruik kan een betaald abonnement nodig zijn. Installeer voor andere OpenJDK-builds, zoals Temurin of Corretto, de nieuwste release van de leverancier.
Containers: een update op de host verandert niets aan een container. Haal de bijgewerkte base image op, bouw uw images opnieuw en rol ze opnieuw uit.
Stap 3: herstart en controleer
Java laadt zijn code bij het starten, dus een draaiende service houdt de oude versie tot hij opnieuw start. Na een pakketupdate op Linux toont dit commando de Java-processen die nog de vervangen bestanden gebruiken:
sudo ls -l /proc/*/exe 2>/dev/null | grep -i 'java.*(deleted)'
Herstart die services, voer de commando's uit stap 1 opnieuw uit en vergelijk de versies met de tabel hierboven.
Tot de fix voor CVE-2026-91403 is geïnstalleerd
- Laat alleen de systemen die dat nodig hebben Java-services via het netwerk bereiken, vooral services die TLS-verbindingen vanaf het internet accepteren.
- Beëindig TLS-verbindingen waar mogelijk vóór de Java-service, bijvoorbeeld in een reverse proxy, zodat minder onbetrouwbare TLS-verbindingen JSSE bereiken. Dat verkleint de blootstelling, maar vervangt de fix niet.
- Houd de logs van Java-services die aan het internet hangen in de gaten op ongebruikelijke TLS-fouten en crashes, en houd back-ups gereed.
Wat er hierna komt
Oracle brengt voor Java voortaan vaker beveiligingsreleases uit. De volgende, een Critical Security Patch Update, staat gepland voor 17 november 2026, en de volgende driemaandelijkse Critical Patch Update voor 19 januari 2027. Zet beide datums in uw agenda en herhaal de drie stappen hierboven elke keer.
Weet u niet zeker welke van uw systemen Java draaien, of is een Java-service mogelijk al aangevallen, dan kunnen onze teams voor beheerde beveiliging en incidentrespons helpen.
