20 октября 2026 года компания Oracle выпустила очередные плановые обновления платформы Java Standard Edition (Java SE) в рамках квартального Critical Patch Update (CPU). Обновления получили шесть веток – от Java 8 до вышедшей в сентябре Java 27. Всего в октябрьский CPU вошло 55 исправлений безопасности для Java SE, при этом 49 уязвимостей могут эксплуатироваться удалённо без аутентификации, а максимальная оценка по CVSS 3.1 составляет 7.5.
По данным бюллетеня Oracle, уязвимости затрагивают Java SE 8u503, 11.0.32.1, 17.0.20.1, 21.0.12.1, 25.0.4.1 и 27, а также GraalVM. Предыдущие сборки вышли в августе в рамках первого ежемесячного CSPU.
Ветки Java 26 в списке больше нет: в сентябре её сменила Java 27, и обновления для 26 не выпускаются. Ещё одно заметное изменение касается лицензии: JDK 21.0.13 – первое обновление Java 21, которое распространяется по лицензии OTN, а не NFTC.
Что такое JDK и JRE?
Java распространяется в двух основных вариантах:
- JDK (Java Development Kit) – комплект разработчика. Включает компилятор
javac, инструменты отладки, утилиты и саму среду выполнения Java. Необходим для разработки и сборки Java-приложений. - JRE (Java Runtime Environment) – среда выполнения Java-приложений. Содержит виртуальную машину JVM и стандартные библиотеки, необходимые для запуска программ.
Начиная с Java 11, Oracle больше не выпускает отдельный установщик JRE. Полноценная среда выполнения доступна либо в составе JDK, либо в виде сторонних дистрибутивов (Eclipse Temurin / Adoptium, Amazon Corretto, Red Hat OpenJDK и др.). Для минимальных окружений также можно собирать собственный JRE с помощью инструмента jlink.
Где скачать?
Официальные версии JDK доступны на сайте Oracle: Java SE Downloads.
Если требуется только среда выполнения или полностью бесплатный OpenJDK, можно использовать сторонние дистрибутивы: Eclipse Temurin (Adoptium), Amazon Corretto, Red Hat OpenJDK.
Что выбрать: Java 8, 11, 17, 21, 25 или 27?
- Java 25 (LTS) – оптимальный выбор для новых проектов и долгосрочной поддержки.
- Java 27 – очередной выпуск для ознакомления с новыми возможностями платформы, не подходит для долгосрочной эксплуатации.
- Java 21 (LTS) – стабильная платформа, но новые обновления Oracle JDK 21 распространяются по лицензии OTN.
- Java 17 (LTS) – надёжная, но устаревающая платформа.
- Java 11 и 8 – только для поддержки существующих систем.
Чтобы узнать установленную версию Java, выполните в командной строке:
java -version
Разработчикам рекомендуется использовать последнюю LTS-версию Java – в настоящее время это Java 25. Для бесплатного использования в производственной среде Oracle также рекомендует JDK 25.
Изменения во всех обновлённых ветках
Помимо исправлений безопасности, октябрьские сборки получили общий набор изменений:
- HttpServer проверяет заголовок Host по RFC 9112: запросы HTTP/1.1 без заголовка Host или с несколькими такими заголовками отклоняются с ответом 400 Bad Request. Проверку можно отключить системным свойством
sun.net.httpserver.disableHostValidation=true. - JNDI/LDAP: встроенный провайдер по умолчанию больше не обрабатывает ссылки RMI, полученные из каталога LDAP, а возвращает приложению объект
javax.naming.Reference. Список запрещённых схем URL задаёт новое свойствоjdk.jndi.ldap.disabledURLSchemes. - JAXP: десериализация внутреннего класса
TemplatesImplотключена по умолчанию, вернуть её можно свойствомjdk.xml.enableTemplatesImplDeserialization. - WebRowSet.readXml сообщает об ошибках разбора и проверки XML исключением
SQLException. - Из хранилища доверенных сертификатов
cacertsудалён корневой сертификат LuxTrust Global Root CA. - Данные часовых поясов обновлены до IANA 2026c: Альберта с 18 июня 2026 года перешла на постоянное время UTC-6, Марокко с 20 сентября 2026 года – на постоянное UTC+0.
В ветках 25, 21, 17, 11 и 8 также изменена политика недоверия к сертификатам TLS-серверов: сертификаты от корневых центров Symantec, Entrust и Camerfirma больше не считаются доверенными независимо от даты выпуска, а для Chunghwa такое правило вступит в силу 19 апреля 2027 года.
Обзор всех обновлённых версий Java SE
Java SE 27 (версия 27.0.1) – очередной выпуск
- Тип выпуска: очередной выпуск (не LTS).
- Доступно: JDK для Windows, macOS и Linux (x64 и ARM64).
- Что нового: Первое обновление Java 27, вышедшей 15 сентября 2026 года. Выпуск содержит девять JEP: постквантовый гибридный обмен ключами в TLS 1.3 по умолчанию, G1 как сборщик мусора по умолчанию во всех окружениях, компактные заголовки объектов, новые preview-версии Primitive Types в pattern matching, Lazy Constants и Structured Concurrency. В 27.0.1 вошли исправления безопасности из октябрьского CPU и общий набор изменений. В JShell изменился протокол запуска удалённых агентов, существующие агенты нужно обновить. Отдельная сборка 27.0.1.0.1 (Bundled Patch Release) содержит данные часовых поясов IANA 2026d и 2026e.
- Рекомендации: Подходит для ознакомления с новыми возможностями, но для рабочих систем лучше использовать LTS-версии.
- Поддержка: Обновления по лицензии NFTC – до марта 2027 года, после чего Java 27 будет заменена на Java 28.
Java SE 25 (версия 25.0.5) – долгосрочная поддержка (LTS)
- Тип выпуска: LTS (текущая долгосрочная версия, вышла в сентябре 2025 года).
- Доступно: JDK для Windows, macOS и Linux (x64 и ARM64).
- Что нового: В ветку перенесён постквантовый гибридный обмен ключами для TLS 1.3: поддерживаются группы X25519MLKEM768, SecP256r1MLKEM768 и SecP384r1MLKEM1024, причём X25519MLKEM768 включена по умолчанию и стоит первой в списке предпочтений. Хранилище ключей PKCS12 поддерживает алгоритм контроля целостности PBMAC1 по RFC 9879. Также вошли исправления безопасности из октябрьского CPU, общий набор изменений и обновлённая политика недоверия к сертификатам TLS-серверов.
- Рекомендации: Лучший выбор для новых проектов и современных развёртываний.
- Поддержка: Обновления по лицензии NFTC – до сентября 2028 года, далее переход на лицензию OTN. Premier-поддержка Oracle – до сентября 2030 года, расширенная – до сентября 2033 года.
Java SE 21 (версия 21.0.13) – долгосрочная поддержка (LTS)
- Тип выпуска: LTS.
- Доступно: JDK; JRE – через сторонние сборки или jlink.
- Что нового: Добавлена поддержка новых форматов закрытых ключей ML-KEM и ML-DSA в PKCS #8 (RFC 9935 и RFC 9881) и алгоритмы MessageDigest SHAKE128-256 и SHAKE256-512. Реализации SHA3 ускорены на 6–27% в зависимости от длины сообщения и платформы. Параметр TrimNativeHeapInterval, который позволяет JVM периодически освобождать неиспользуемую нативную память в Linux с glibc, стал штатным. Также вошли исправления безопасности, общий набор изменений и новая политика недоверия к сертификатам.
- Рекомендации: JDK 21.0.13 – первое обновление Java 21 по лицензии OTN, которая разрешает бесплатное использование только в личных целях и для разработки. Аналогичное изменение касается обновлений JavaFX 21, выпущенных после сентября 2026 года. Для бесплатного использования в производственной среде Oracle рекомендует перейти на Java 25.
- Поддержка: Premier-поддержка Oracle – до сентября 2028 года, расширенная – до сентября 2031 года.
Java SE 17 (версия 17.0.21) – долгосрочная поддержка (LTS)
- Тип выпуска: LTS.
- Доступно: JDK; JRE – через сторонние сборки.
- Что нового: Те же новые возможности, что и в 21.0.13: форматы закрытых ключей ML-KEM и ML-DSA, алгоритмы SHAKE128-256 и SHAKE256-512, ускорение SHA3 и штатный параметр TrimNativeHeapInterval. Также вошли исправления безопасности, общий набор изменений и новая политика недоверия к сертификатам.
- Рекомендации: Подходит для существующих рабочих систем. Обновления распространяются по лицензии OTN – бесплатно только для личного применения и разработки.
- Поддержка: Premier-поддержка Oracle завершилась в сентябре 2026 года, расширенная продлится до сентября 2029 года.
Java SE 11 (версия 11.0.33) – долгосрочная поддержка (LTS)
- Тип выпуска: LTS (устаревающая версия).
- Доступно: JDK; JRE – в ряде сторонних дистрибутивов.
- Что нового: Появились ключи
-XX:+ErrorFileToStdoutи-XX:+ErrorFileToStderr: при аварийном завершении JVM выводит отчёт, который обычно записывается в файл hs_err, в стандартный вывод или поток ошибок. Также вошли исправления безопасности, общий набор изменений и новая политика недоверия к сертификатам. - Рекомендации: Подходит для поддержки существующих систем, новые проекты лучше начинать на актуальной LTS. Ветка распространяется по лицензии OTN – бесплатно только для личного применения и разработки.
- Поддержка: Расширенная поддержка Oracle – до января 2032 года по платной подписке.
Java SE 8 (версия 8u511) – долгосрочная поддержка (LTS)
- Тип выпуска: LTS (устаревшая версия).
- Доступно: JDK и JRE, включая 32-битные сборки.
- Что нового: Туннелирование Java RMI через HTTP-to-CGI отключено по умолчанию, включить его можно ключом
-Djdk.rmi.server.disableCGI=false. Для CORBA введены ограничения на размер входящих сообщений и объём памяти под массивы. В JavaFX по умолчанию отключена десериализация графов объектов из буфера обмена и при перетаскивании, а компонент WebView теперь требует 64-битный JDK. При запуске JavaFX выводит предупреждение о том, что обновления JDK 8 после марта 2028 года не будут включать JavaFX. Добавлены ключи вывода отчёта hs_err в stdout и stderr, данные часовых поясов обновлены до IANA 2026e. - Рекомендации: Не рекомендуется для новых проектов, следует планировать миграцию. Это последняя ветка с 32-битными сборками и отдельным установщиком JRE.
- Поддержка: Для физических лиц и разработки бесплатные обновления безопасности выпускаются бессрочно. Для коммерческого применения расширенная поддержка действует до декабря 2030 года по платной подписке.
Подробности изменений – в примечаниях Oracle к выпускам 27.0.1, 25.0.5, 21.0.13, 17.0.21, 11.0.33 и 8u511.