
PoC de laboratorio reproducibles para automountd de macOS y análisis guiado por el código fuente para CVE-2026-84568 (path traversal en fstype que conduce a ejecución de código como root) y CVE-2026-84570 (omisión de Gatekeeper).
Un análisis público y guiado por el código fuente de CVE-2026-84568 y CVE-2026-84570, con pruebas reversibles para la entrada LDAP/OD, la entrega por NFS, el despacho del helper, el comportamiento de Gatekeeper y el límite del nodo de dispositivo.
Estado de publicación — octubre de 2026. Apple corrigió ambas vulnerabilidades el 14 de septiembre de 2026 en macOS Sequoia 15.8, macOS Tahoe 26.7 y macOS Golden Gate 27. El reproductor de este repositorio está destinado únicamente a un laboratorio aislado y autorizado que contenga un Mac intencionalmente sin parchear.
Estado de validación. Los validadores en el host incluidos se ejecutaron con éxito en un host de laboratorio macOS 26.4 afectado (build 25E246, arm64). La prueba de despacho del helper, la cadena completa de entrega por NFS en loopback, la sonda de nombre de ruta/credenciales, el diferencial de Gatekeeper y la prueba del límite nodev/dispositivo devolvieron todos PASS. En la prueba de Gatekeeper, las evaluaciones estaban habilitadas; la app era estructuralmente válida pero estaba firmada ad-hoc sin Team ID; la evaluación explícita con spctl la rechazó; el montaje NFS no tenía ni noexec ni cuarentena; y LaunchServices la ejecutó sin un paso de aprobación. Cada validador también devolvió cleanup_result=PASS, y una comprobación independiente posterior a la ejecución confirmó que sus registros de directorio temporal, montajes, archivos y cambios en /etc/exports fueron eliminados o restaurados. El arnés de Python se ejercitó por separado contra un servidor OpenLDAP temporal con el esquema real de atributos automount/Apple: tanto las rutas automountKey como apple-user-homeurl superaron las comprobaciones de creación/lectura de vuelta/tiempo de espera/restauración. Estas observaciones caracterizan esa build afectada y el arnés incluido; no son afirmaciones sobre versiones parcheadas.
Crédito de la investigación: Mr.Gedik (@h4ck2s3c); CVE-2026-84568 se atribuye públicamente a Mr.Gedik, y CVE-2026-84570 a Mr.Gedik, en los avisos de Apple.
Esta es la versión pública de la investigación. Contiene únicamente información respaldada por los avisos publicados por Apple, el código abierto de Apple y el material de laboratorio reproducible incluido. Los identificadores de casos privados, las comunicaciones privadas, los artefactos no públicos y la investigación no relacionada se excluyen intencionalmente.
Los dos CVE comparten una superficie de ataque pero representan causas raíz independientes:
| CVE | Impacto publicado por Apple | Límite del lado del cliente |
|---|---|---|
| CVE-2026-84568 | Un atacante de directorio de red puede ejecutar código arbitrario con privilegios de root | Un fstype controlado por el directorio influyó en la ruta del ejecutable seleccionada por automountd |
| CVE-2026-84570 | Una app puede eludir las comprobaciones de Gatekeeper | Un automontaje NFS controlado por el directorio cruzó tanto el límite de política de procedencia de la aplicación como el de nodo de dispositivo |
Apple enumera ambos problemas bajo autofs en el contenido de seguridad de macOS Golden Gate 27, macOS Tahoe 26.7 y macOS Sequoia 15.8.
Los mapas de automontaje de macOS son datos de control ejecutables. Una línea de mapa selecciona un tipo de sistema de archivos, proporciona opciones de montaje, identifica un recurso y, en última instancia, influye en el despacho privilegiado del montaje. Antes de las actualizaciones de septiembre de 2026, dos fallos de validación permitían que los datos proporcionados por el directorio cruzaran los límites de seguridad en el cliente:
fstype manipulado podía escapar del espacio de nombres previsto del helper /sbin/mount_<type> y resolverse a un ejecutable entregado a través de NFS.nodev esperada. El montaje de red resultante tampoco tenía política noexec ni de cuarentena, por lo que una app que fallaba una evaluación explícita de Gatekeeper aún podía lanzarse desde él.Esas son observaciones relacionadas, no mecanismos intercambiables. nodev controla si se interpretan los vnodes de dispositivo especial; no implementa Gatekeeper. noexec controla la ejecución en el límite del VFS. Gatekeeper evalúa por separado la confianza y la procedencia de la aplicación. El validador de CVE-2026-84570 informa cada límite de forma independiente, de modo que una bandera nodev ausente nunca se presenta por sí sola como prueba de una elusión de Gatekeeper.
El acceso de escritura al directorio es un requisito previo de entrada, no la autoridad resultante. Cambiar un atributo de automontaje o de directorio de usuario no equivale a elegir una ruta de ejecutable en cada Mac consumidora ni a debilitar la política del kernel de un montaje NFS. Esas transformaciones ocurren en el cliente.
stat() directo realizado por una cuenta sin privilegios devolvió ENOTDIR; por lo tanto, un resultado de realpath() o stat() sin privilegios no es un proxy válido para automountd en este caso.nodev demostrado para CVE-2026-84570. La cadena completa de 84568 tuvo éxito mientras su montaje de entrega conservaba nodev y nosuid.La configuración de automontaje predeterminada expone entradas respaldadas por directorios bajo /home:
/etc/auto_master: /home auto_home -nobrowse,hidefromfinder
/etc/auto_home: +auto_home
/etc/auto_home: +/usr/libexec/od_user_homes
La primera inclusión resuelve registros de automontaje. La inclusión del mapa de ejecutables invoca od_user_homes, que resuelve la información del directorio personal del usuario y emite una línea de mapa. Ambas rutas convergen en el analizador de automontaje.
El arnés público mantiene ambas formas de directorio explícitas: