CVE-2012-5076

Oracle Java SE

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-03-28

Официальное описание

The default Java security properties configuration did not restrict access to the com.sun.org.glassfish.external and com.sun.org.glassfish.gmbal packages. An untrusted Java application or applet could use these flaws to bypass Java sandbox restrictions.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость позволяет недоверенному Java-приложению или апплету загружать и выполнять код из пакетов com.sun.org.glassfish.external и com.sun.org.glassfish.gmbal. Эти пакеты не были ограничены в конфигурации безопасности по умолчанию, что дает возможность обойти ограничения песочницы (sandbox) Java.

Как исправить

Установите обновленную версию Oracle Java SE, в которой данная проблема исправлена.

  • Для Oracle Java SE 7 Update 7 и более ранних версий: Обновитесь до Oracle Java SE 7 Update 9 или более поздней версии из семейства 7.

    • Windows: Загрузите и установите последнюю версию с официального сайта Oracle.
    • Linux (RHEL/CentOS/Fedora, используя Oracle RPM): bash # Удалите старую версию и установите новую из пакета Oracle sudo yum remove java-1.7.0-openjdk # Загрузите актуальный RPM с сайта Oracle и установите sudo rpm -ivh jre-7u<номер_обновления>-linux-x64.rpm
    • Linux (Debian/Ubuntu, используя пакеты от Oracle): bash # Удалите старые пакеты sudo apt-get remove oracle-java7-installer # Обновите список пакетов и установите актуальную версию sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer
  • Для Oracle Java SE 6: Обновитесь до Oracle Java SE 6 Update 37 или более поздней версии из семейства 6.

Проверка версии после обновления:

java -version

Убедитесь, что в выводе указана версия 1.7.0_09 (или выше для Java 7) или 1.6.0_37 (или выше для Java 6).

Временное решение

Если немедленное обновление невозможно, ограничьте использование уязвимых компонентов.

  1. Отключите Java в браузерах. Это наиболее эффективная мера для защиты от вредоносных апплетов.

    • Chrome: Перейдите в НастройкиДополнительныеНастройки контентаJavaScript и отключите Java.
    • Firefox: В адресной строке введите about:addons, перейдите в раздел "Плагины" и отключите "Java(TM) Platform SE".
    • Internet Explorer: СервисСвойства браузера → вкладка БезопасностьДругой → в разделе "Сценарии" установите "Выполнять сценарии приложений Java" в значение Отключить.
  2. Используйте политику безопасности Java (security policy). Можно вручную добавить ограничения для уязвимых пакетов в глобальный файл политики безопасности (java.policy). Внимание: Это сложная настройка, требующая глубокого понимания политик Java.

    • Расположение файла по умолчанию: $JAVA_HOME/lib/security/java.policy или $JAVA_HOME/jre/lib/security/java.policy.
    • Добавьте следующие строки в конец файла (создайте резервную копию перед редактированием): java grant { // Запретить доступ к уязвимым пакетам для недоверенного кода permission java.lang.RuntimePermission "accessClassInPackage.com.sun.org.glassfish.external", "deny"; permission java.lang.RuntimePermission "accessClassInPackage.com.sun.org.glassfish.gmbal", "deny"; };
    • После изменения файла перезапустите все Java-приложения.

Рекомендация: Временные решения являются сложными и неполными. Приоритетной задачей должно быть немедленное обновление Java до защищенной версии.