Почему Apple использует уязвимую версию OpenSSL?
Это не так.
Если вы перейдете по ссылке, которую вы разместили в своем вопросе, вы увидите, что это обновление исправляет ряд уязвимостей, которые одинаково существуют в OpenSSL 0.9.8, 1.0.0, 1.0.1 и 1.0.2.
Другими словами, версия, которую вы позже предложите в качестве альтернативы, 1.0.2, была настолько же уязвимой, как и 0.9.8, и обе были исправлены одновременно.
С последним обновлением OS X ( 10.10.5 ) Apple представляет OpenSSL 0.9.8 . Я просмотрел официальную страницу OpenSSL , и там я смог получить версию 1.0.2 .
Apple обновляет OpenSSL до 0.9.8zg, которому всего 2 месяца, и всего 4 недели старше, чем 1.0.2d.
Мой вопрос: почему Apple использует более старую версию OpenSSL? Это из-за устаревших функций в версии 1.0 или в чем причина?
Это то, что вы должны спросить у Apple. Мое предположение заключается в том, что 0.9.8 - это версия, с которой они проводили тестирование на совместимость, а обновление до более новой версии потребовало бы совершенно нового раунда тестирования для компонента, который в любом случае считается устаревшим. Поскольку оно устарело, более новое программное обеспечение (которое, возможно, будет полагаться на новые функции) не должно его использовать в любом случае, а старое программное обеспечение, которое все еще использует его, не использует новые функции (потому что их не было) и может даже быть сломано обновлением, так зачем?
Пока сообщество OpenSSL по-прежнему поддерживает ветку 0.9.8, Apple даже не приходится делать бэкпорт патчей.
Обратите внимание, что в этом нет ничего необычного. Apple поставляла старую версию Ruby в течение очень долгого времени, и они обычно не обновляются во время цикла выпуска, только между выпусками. Дистрибутивы Linux, а также BSD и другие дистрибутивы Unix также обычно не обновляют версии во время выпуска, они применяют только исправления ошибок и исправления безопасности. В частности, Debian вообще не исправляет все ошибки, только уязвимости и ошибки, которые могут привести к потере пользовательских данных - любое изменение, даже исправление, является потенциальной несовместимостью и потенциальной возможностью появления новых ошибок; известные ошибки лучше, чем неизвестные!