Why is Apple using a vulnerable version of OpenSSL?
Non lo è.
Se fai clic sul link che hai postato nella tua domanda, vedrai che questo aggiornamento patch una serie di vulnerabilità che esistono identicamente in OpenSSL 0.9.8, 1.0.0, 1.0.1 e 1.0.2. p>
Quindi, in altre parole, la versione che stai suggerendo in seguito come alternativa, 1.0.2, era altrettanto vulnerabile di 0.9.8, ed entrambi sono stati risolti contemporaneamente.
With the newest OS X Update (10.10.5), Apple is introducing OpenSSL 0.9.8. I browsed through the official OpenSSL page, and there I could get Version 1.0.2.
Apple sta aggiornando OpenSSL a 0.9.8zg, che ha solo 2 mesi e solo 4 settimane più vecchio di 1.0.2d.
My question is: Why is Apple using an older Version of OpenSSL? Is it because of deprecated functions in Version 1.0 or what is the reason behind it?
Questo è qualcosa che dovrai chiedere ad Apple. La mia ipotesi migliore è che la versione 0.9.8 è la versione con cui hanno effettuato i test di compatibilità, e l'aggiornamento a una versione più recente richiederebbe un ciclo di test completamente nuovo per un componente che è comunque deprecato. Dato che è deprecato, il software più recente (che potrebbe fare affidamento su nuove funzionalità) non dovrebbe comunque utilizzarlo, e il software più vecchio che ancora lo usa non usa le nuove funzionalità (perché non esistevano) e potrebbe persino essere rotto da un aggiornamento, quindi perché preoccuparsi?
Finché la community di OpenSSL mantiene ancora il ramo 0.9.8, Apple non deve nemmeno fare il lavoro delle patch di backporting.
Si noti che non è nulla di insolito. Apple ha spedito una vecchia versione di Ruby per un tempo molto lungo e generalmente non si aggiorna durante il ciclo di rilascio, solo tra una release e l'altra. Anche le distribuzioni Linux e le BSD e altre distribuzioni Unix tipicamente non aggiornano le versioni durante una release, applicano solo correzioni di errori e correzioni di sicurezza. Debian, in particolare, in genere non risolve nemmeno tutti i bug, solo le vulnerabilità e i bug di sicurezza che potrebbero comportare la perdita dei dati dell'utente - qualsiasi modifica, anche una bugfix è una potenziale incompatibilità e un potenziale per nuovi bug; i bug noti sono migliori di quelli sconosciuti!