
Project Zero ha encontrado (y publicado incluso una PoC) que si una imagen de sistema de ficheros (filesystem) de macOS propiedad de un usuario es modificada, el gestor de la memoria virtual no es informado de dicho cambio, lo que significa que un atacante podría realizar algún tipo de acción sobre dicho sistema de ficheros sin que este lo notara. Resumiendo mucho, el kernel de macOS XNU, permite realizar Copy-On-Write (COW, una técnica de optimización que en principio no es peligrosa, pero recordemos el famoso caso Dirty COW). Vamos a ver un poco más a nivel técnico donde radica entonces el problema.
Figura 1. Fecha de la publicación de la vulnerabilidad (marcada en rojo) por parte de Project Zero. Fuente. |
Este comportamiento COW funciona no sólo con la memoria anónima, sino también con las asignaciones de ficheros. Es decir, después de que el proceso de destino haya comenzado a leer los datos desde el área de memoria transferida, según la carga ejercida sobre dicha memoria esta puede hacer que estas sean eliminadas de la memoria caché. Esto significa que un atacante podría "mutar" o realizar cambios sobre un fichero en el disco sin informar al gestor de la memoria virtual de dichos cambios. El kernel de Linux tiene varias interfaces que permiten la creación la copia de datos entre procesos. Por eso es importante que la memoria copiada esté protegida por el proceso origen contra modificaciones posteriores.
Apple fue informado, tal y como hemos contado antes, 90 días antes dentro del plazo que ofrecen desde Google Project Zero, es decir, en noviembre de 2018 (figura 1). Apple no realizó las modificaciones oportunas así que la vulnerabilidad fue publicada con la etiqueta de "alta severidad". Finalmente, después de hacerse pública, Apple está trabajando junto a Project Zero en un parche para remediarlo en futuras versiones de macOS.
Publicado en Seguridad Apple - Google+ - RSS - Eleven Paths

Continúar leyendo...