В Java проявилась уязвимость при обработке чисел с плавающей запятой

13 февраля 2011 года

Несколько недель назад в интерпретаторе PHP была исправлена уязвимость, позволяющая вызвать зависание процесса при выполнении операций c некоторыми числами с плавающей запятой. Уязвимость проявлялась только при использовании в процессе преобразования чисел x87 FPU-регистров. Как оказалось, данной проблеме подвержен не только интерпретатор PHP, но и виртуальная машина Java.

Например, чтобы вызвать бесконечное зацикливание достаточно обеспечить выполнение примерно такого кода "double d = 2.2250738585072012e-308; System.out.println("Value: " + d);". В реальных условиях, эксплуатировать данную уязвимость можно без привлечения определенных Java-апплетов: достаточно отправить на большинство серверов приложений специальный HTTP-запрос, указав проблемное число в заголовке "Accept-Language" или "Accept", например: "Accept: audio/*; q=магическое число, audio/basic".

Примечательно, что компания Sun была поставлена в известность о данной проблеме в 2000 году, после чего извещалась еще несколько раз. Серьезность уязвимости была признана только после эскалации проблемы после случая с PHP. Выход официального обновления Java SE запланирован на 15 февраля, до этого момента можно использовать hotfix или патч к OpenJDK.

Дополнительно всплыл еще один случай с затягиванием выпуска исправления. В 2008 году в Sun было направлено сообщение (и получено подтверждение о его получении) о наличии уязвимости в коде по обеспечению работы диалога JFileChooser. Уязвимость до сих пор не исправлена и позволяет организовать в Java-апплете переименование файлов без каких-либо действий со стороны пользователя.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «В Java проявилась уязвимость при обработке чисел с плавающей запятой», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.