Почему 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 вообще не исправляет все ошибки, только уязвимости и ошибки, которые могут привести к потере пользовательских данных - любое изменение, даже исправление, является потенциальной несовместимостью и потенциальной возможностью появления новых ошибок; известные ошибки лучше, чем неизвестные!
OpenSSL официально объявлен устаревшим. Он существует (за то небольшое время, которое Apple позволяет продвигаться вперед), чтобы не ломать программное обеспечение, которое не переходит либо на альтернативу Apple, ни внутренне связывает SSL с приложением.
См. Ссылку Apple Developer для объявления об устаревании: (другие ссылки более удобны для чтения / более обобщенное объяснение почему и что )
источник