En diciembre de 2014 Kaspersky Lab descubrió una vulnerabilidad en el Kernel Darwin, la parte de código abierto de OS X e iOS, por la que mediante un único paquete IP, con algunas opciones IP no válidas y un tamaño específico, se podía crashear un dispositivo con OS X 10.10 o iOS 8 instalado.

La vulnerabilidad ha sido bautizada como Darwin Nuke y ocurre al parsear las opciones de un paquete ICMP y generar un mensaje de error mediante la función icmp_error().

Cuando se cumplen las condiciones establecidas en el código, la función panic se activa y el sistema se apaga en modo de emergencia. Esto sucede porque las estructuras internas del kernel han cambiado y el nuevo tamaño del buffer no es suficiente para guardar un paquete ICMP recién generado. Para hacer esto, el paquete IP debe cumplir los siguientes criterios:

  • El tamaño de la cabecera IP debe ser de 60 bytes.
  • El tamaño del payload IP debe ser de al menos 65 bytes
  • Debe haber errores en las opciones IP (tamaño no válido de opción, de clase, etc.)




¿La solución? Actualizar a OS X 10.10.3 y iOS 8.3.

Fuente: Hackplayers