Чому 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, зокрема, навіть не виправляє всіх помилок, лише вразливості безпеки та помилки, які можуть призвести до втрати даних користувачів - будь-яка зміна, навіть помилка - це потенційна несумісність та потенціал для нових помилок; відомі помилки кращі за невідомі!