Las instrucciones en los procesadores Core de Intel se ejecutan en varias etapas

Ante un acceso ilegal, se envía SIGSEGV y se hace rollback:

  • El SIGSEGV se da al final de la ejecución de la instrucción.
  • El SIGSEGV se puede atrapar y no resultar en la terminación del proceso.
  • El rollback no es completo, ya que los datos traídos al caché quedan en el caché.

El sistema operativo solía mapear la memoria del kernel en el espacio del proceso

  • Por motivos de performance.
  • Pero solamente se podía acceder transfiriendo el control al kernel.
  • La vulnerabilidad permitía a un proceso acceder al espacio de memoria del kernel.

La mitigación consistió en no mapear la memoria del kernel al espacio de memoria del proceso.

Para más información, ver CWE-203 y Meltdown: Reading Kernel Memory from User Space.