¿Por qué Apple usa una versión vulnerable de OpenSSL?
No lo es
Si hace clic en el enlace que publicó en su pregunta, verá que esta actualización parchea una serie de vulnerabilidades que existen de manera idéntica en OpenSSL 0.9.8, 1.0.0, 1.0.1 y 1.0.2.
En otras palabras, la versión que sugieres más adelante como alternativa, 1.0.2, era tan vulnerable como lo era 0.9.8, y ambas fueron reparadas al mismo tiempo.
Con la última actualización de OS X ( 10.10.5 ), Apple presenta OpenSSL 0.9.8 . Navegué por la página oficial de OpenSSL y allí pude obtener la versión 1.0.2 .
Apple está actualizando OpenSSL a 0.9.8zg, que tiene solo 2 meses y solo 4 semanas más que 1.0.2d.
Mi pregunta es: ¿por qué Apple usa una versión anterior de OpenSSL? ¿Se debe a funciones obsoletas en la Versión 1.0 o cuál es la razón detrás de esto?
Eso es algo que tendrás que preguntarle a Apple. Mi mejor conjetura es que 0.9.8 es la versión con la que hicieron sus pruebas de compatibilidad, y actualizar a una versión más nueva requeriría una ronda de pruebas completamente nueva para un componente que está en desuso de todos modos. Dado que está en desuso, el software más nuevo (que posiblemente dependería de las funciones más nuevas) no debería usarlo de todos modos, y el software más antiguo que todavía lo usa no usa las nuevas funciones (porque no existían) e incluso podría estar dañado. por una actualización, entonces ¿por qué molestarse?
Mientras la comunidad OpenSSL aún mantenga la rama 0.9.8, Apple ni siquiera tiene que hacer el trabajo de parches de backport.
Tenga en cuenta que esto no es nada inusual. Apple envió una versión antigua de Ruby durante mucho tiempo, y generalmente no se actualizan durante un ciclo de lanzamiento, solo entre lanzamientos. Las distribuciones de Linux, así como los BSD y otras distribuciones de Unix tampoco suelen actualizar las versiones durante un lanzamiento, solo aplican correcciones de errores y correcciones de seguridad. Debian, en particular, generalmente ni siquiera repara todos los errores, solo las vulnerabilidades de seguridad y los errores que pueden provocar la pérdida de datos del usuario; cualquier cambio, incluso una corrección de errores, es una incompatibilidad potencial y un potencial para nuevos errores; ¡los errores conocidos son mejores que los desconocidos!