Perché Apple utilizza una versione vulnerabile di OpenSSL?
Non lo è.
Se fai clic sul link che hai pubblicato nella tua domanda, vedrai che questo aggiornamento corregge una serie di vulnerabilità identiche in OpenSSL 0.9.8, 1.0.0, 1.0.1 e 1.0.2.
Quindi, in altre parole, la versione che in seguito proponerai come alternativa, 1.0.2, era vulnerabile tanto quanto lo era la 0.9.8, ed entrambe sono state riparate allo stesso tempo.
Con l'ultimo aggiornamento di OS X ( 10.10.5 ), Apple introduce OpenSSL 0.9.8 . Ho sfogliato la pagina ufficiale OpenSSL e lì ho potuto ottenere la versione 1.0.2 .
Apple sta aggiornando OpenSSL a 0.9.8zg, che ha solo 2 mesi e solo 4 settimane più vecchia di 1.0.2d.
La mia domanda è: perché Apple utilizza una versione precedente di OpenSSL? È a causa di funzioni deprecate nella versione 1.0 o qual è il motivo dietro di esso?
Questo è qualcosa che dovrai chiedere ad Apple. La mia ipotesi migliore è che 0.9.8 è la versione con cui hanno eseguito i test di compatibilità e l'aggiornamento a una versione più recente richiederebbe un ciclo completamente nuovo di test per un componente che è deprecato comunque. Dal momento che è obsoleto, i software più recenti (che potrebbero fare affidamento su funzionalità più recenti) non dovrebbero comunque utilizzarli e i software più vecchi che lo utilizzano ancora non utilizzano le nuove funzionalità (perché non esistevano) e potrebbero persino essere interrotti da un aggiornamento, quindi perché preoccuparsi?
Finché la comunità OpenSSL mantiene ancora il ramo 0.9.8, Apple non deve nemmeno fare il lavoro di backport delle patch.
Nota che questo non è niente di insolito. Apple ha distribuito una vecchia versione di Ruby per molto tempo e generalmente non si aggiorna durante un ciclo di rilascio, solo tra una versione e l'altra. Le distribuzioni Linux, così come le BSD e le altre distribuzioni Unix, in genere non aggiornano le versioni durante una versione, applicano solo correzioni di errori e correzioni di sicurezza. Debian, in particolare, generalmente non corregge nemmeno tutti i bug, ma solo vulnerabilità di sicurezza e bug che potrebbero causare la perdita dei dati dell'utente - qualsiasi modifica, persino una correzione di bug è una potenziale incompatibilità e un potenziale per nuovi bug; i bug noti sono migliori di quelli sconosciuti!