Обновление Java SE 7 Update 21 с устранением 45 уязвимостей и поддержкой ARM

Компания Oracle представила плановый корректирующий выпуск Java SE 7 Update 21, в котором устранены 42 новые проблы с безопасностью, а также внесена порция улучшений, направленных на увеличение безопасности. Кроме того, несмотря на решение по прекращению выпуска публичных обновлений, опубликован выпуск Java SE 6 Update 45 c устранением 25 уязвимостей. 19 уязвимостям присвоен максимальный уровень опасности (CVSS Score 10.0), подразумевающий возможность выхода за пределы изолированного окружения виртуальной машины и инициирования выполнения кода в системе при обработке специально оформленного контента. Все уязвимости присутствуют JRE. 39 проблем подвержены удалённой эксплуатации без проведения аутентификации.

В Java SE 7 Update 21 внесена большая серия изменений и улучшений:

Подготовлен новый пакет Server JRE (Server Java Runtime Environment), предназначенный для развёртывания серверных Java-приложений. В состав пакета входит набор инструментов для мониторинга на работой JVM и выполнения типичных задач по обслуживанию серверных Java-приложений, но не входят компоненты, связанные с функционированием браузерного плагина, инсталлятором и системой автоматической установки обновлений. Пакет подготовлен для Solaris, Windows и Linux; Сформирован JDK для Linux-систем, работающих на платформах ARM. Поддерживаются системы на базе архитектуры ARMv6 и ARMv7. В версии для ARM пока не поддерживаются технологии Java WebStart, Java Plug-In, Garbage First (G1) Collector, JavaFX SDK и JavaFX Runtime; Из связанного с безопасностью блока панели управления (Java Control Panel) удалена возможность выбора низкоуровневых и ручных настроек. Связанные с безопасностью параметры теперь выбираются только на основании выбранного уровня безопасности. По умолчанию установлен высокий уровень безопасности, допускающий выполнение только апплетов с верифицированной цифровой подписью; Изменены связанные с безопасностью диалоги, любой выполняемый в браузере Java-код теперь приводит к выводу предупреждения и требует явного подтверждения от пользователя. Форма диалога зависит от уровня риска, для неопасных событий выводятся минималистичные диалоги с предложением кликнуть для согласия, а для потенциально опасных сценариев, таких как запуск неподписанных JAR-файлов, выводятся комплексные формы, требующие от пользователя выполнения серии шагов; Изменения в RMI (Remote Method Invocation API): по умолчанию активировано свойство java.rmi.server.useCodebaseOnly, что запрещает загрузку внешних Java-классов по URL, если адрес жестко не прописан в настройках. Подобное изменение может привести к нарушению работы некоторых RMI-приложений; Изменения в Runtime.exec: для платформы Windows ужесточены правила декодирования управляющих строк в методах Runtime.exec (String), Runtime.exec (String, String[]) и Runtime.exec (String, String[], File). Могут наблюдаться проблемы при выполнении команд, использующих некорректный квотинг. Например, Runtime.getRuntime ().exec («C:\\My Programs\\foo.exe bar») из-за отсутствия экранирования пробела будет воспринято как попытка выполнить команду «C:\\My» с аргументами «Programs\\foo.exe» и «bar», а Runtime.getRuntime ().exec (»\«C:\\My Programs\\foo.exe\» bar») как попытка выполнить »\«C:\\My»; Введён в строй репозиторий с чёрным списком сертификатов и проблемных JAR-файлов. Синхронизация клиентских систем с данными из репозитория осуществляется ежедневно.

© OpenNet