Энтузиасты указали на необоснованность затягивания исправления уязвимостей в Java
Адам Говдяк (Adam Gowdiak), известный польский исследователь безопасности, выявивший серию нашумевших уязвимостей в Java SE, выразил возмущение политикой компании Oracle, приводящей к затягиванию выпуска исправлений с устранением уязвимости в Java. В сентябре компании Oracle были переданы детали о критической уязвимости, проявляющейся во всех версиях Java SE 5, 6 и 7, независимо от операционной системы. Одновременно был продемонстрирован рабочий эксплоит, позволяющий при открытии в браузере специально оформленного апплета выполнить код в системе в обход всех уровней изоляции виртуальной машины Java.
Спустя три недели компания Oracle выпустила корректирующие обновления Java SE 6u37 и Java SE 7u9 с устранением 30 уязвимостей. При этом исправление для вышеотмеченной проблемы в состав новых версий включено не было и актуальные версии Java SE по прежнему остались уязвимыми. Исследователи попытались связаться с компанией Oracle и выяснить почему обнаруженная ими критическая проблема осталась неисправленной. В ответ представители Oracle сообщили, что устранение указанной уязвимости требует длительной работы над созданием патча, последующего тестирования качества интеграции с другими продуктами и анализа возникновения возможных регрессивных изменений. Поэтому исправление будет включено только в плановое обновление Java, намеченное на февраль 2013 года.
В ответ, выявившие уязвимости исследователи решили провести эксперимент и подготовить патч самостоятельно. Каково же было их удивление, когда на разработку патча для открытой кодовой базы OpenJDK потребовалось всего 26 минут. Патч потребовал изменения 25 символов и в силу того, что он не влияет на логику работы и не затрагивает внешние программные интерфейсы, для него даже не требуется создание тестов для изучения возможных регрессивных изменений. В случае публичной передачи подготовленного патча в руки открытых проектов OpenJDK или IcedTea, компания Oracle будет вынуждена повторно прибегнуть к формированию внепланового обновления Java SE, так как на основе анализа патча можно будет определить суть проблемы.