- Se descubrió una vulnerabilidad de zero-click en Calendar de macOS
- Un atacante puede agregar o eliminar archivos arbitrarios dentro del entorno sandbox de Calendar
- Al combinarse con ejecución de código malicioso y evasión de protecciones de seguridad, puede comprometer datos sensibles de iCloud Photos del usuario
- Apple corrigió todas las vulnerabilidades entre octubre de 2022 y septiembre de 2023
Detalles de la vulnerabilidad
Etapa 1: vulnerabilidad de escritura y eliminación arbitraria de archivos en Calendar (CVE-2022-46723)
- Un atacante puede incluir archivos adjuntos mediante una invitación de calendario maliciosa
- El nombre de archivo del adjunto no se valida correctamente
- Se puede realizar un ataque de directory traversal configurando una ruta arbitraria en la sección ATTACH
- Ejemplo:
FILENAME=../../../PoC.txt
- El archivo se agrega en ~/Library/Calendar/PoC.txt
- Si el archivo ya existe, se guarda como
PoC.txt-2
- Si se elimina el evento/adjunto enviado por el atacante, se elimina el archivo original (PoC.txt)
- Esta vulnerabilidad puede usarse para eliminar archivos existentes dentro del sistema de archivos
- La vulnerabilidad existe en macOS Montrey 12.5. macOS 13.0 beta4 no es vulnerable
Etapa 2: obtención de ejecución remota de código (RCE) usando la vulnerabilidad de escritura arbitraria de archivos
- Se descubrió justo antes del lanzamiento de macOS Ventura
- Aprovechando el proceso de actualización de versión de macOS, es posible obtener ejecución remota de código mediante la función Open File de Calendar
- Se infectan varios archivos para activar el exploit de RCE
Archivo inyectado #1: 000Hacked-$RANDOM.calendar
- Contiene datos de calendario que aparentan ser datos de calendario sugeridos por Siri
- Incluye eventos recurrentes y funciones de alerta
Archivo inyectado #2: archivo CalendarTruthFileMigrationInProgress
- Actualiza y fusiona calendarios existentes hacia una nueva base de datos
Archivo inyectado #3: CalPoCInit.dmg
- Una alerta incluida en el evento de calendario abre el archivo
- CalPoCInit.dmg contiene una referencia que apunta a un servidor Samba externo
Archivo inyectado #4: stage1.url
- Una segunda alerta incluida en el evento de calendario abre el archivo
- Contiene una URL que apunta a una aplicación en un montaje Samba
Archivo inyectado #5: stage2.url
- Una tercera alerta incluida en el evento de calendario abre el archivo
- Ejecuta una aplicación maliciosa sin interacción del usuario
Etapa 3: acceso a datos sensibles de Photos
- Es posible acceder a fotos almacenadas en iCloud modificando la configuración de Photos
- Se puede evadir la protección TCC para extraer datos sensibles del usuario
Acceso a archivos de iCloud mediante cambios en la configuración de Photos
- El atacante crea un archivo de configuración que establece la System Photo Library de Photos en otra ruta
- Al ejecutar
PhotosPoC.sh, se importa el nuevo archivo de configuración
- La configuración original se respalda y la nueva configuración se guarda en /var/tmp/mypictures/
- Se inicia Photos con la nueva System Photo Library y se activa la sincronización con iCloud
Cadena completa
- Se deben superar todas las barreras de seguridad de macOS a través de múltiples etapas
- Se evade el sandbox y se usan trucos con SMB para evadir las mitigaciones de Gatekeeper
- Se evade la protección TCC para acceder a datos sensibles
Cronología
- 2022-08-08: se reporta escritura y eliminación arbitraria de archivos desde el sandbox de Calendar
- 2022-10-24: corregido en macOS Monterey 12.6.1 y Ventura 13
- 2022-11-14: envío de PoC, método para ejecución arbitraria de código usando la vulnerabilidad de Calendar
- 2022-12-04: envío de PoC, método para acceder a fotos de iCloud
- 2023-02-20: se agregan crédito y CVE para CVE-2022-46723
- 2023-03-27: se corrige la evasión de Gatekeeper en macOS Ventura 13.3
- 2023-09-26: se corrige la vulnerabilidad de Photos CVE-2023-40434 y se otorga crédito
- 2023-10-09: anuncio de recompensa por errores relacionado con la evasión de Gatekeeper y la vulnerabilidad de Photos
- 2023-12-21: crédito para la evasión de Gatekeeper CVE-2023-40433
Resumen de GN⁺
- Este artículo trata una vulnerabilidad de zero-click en Calendar de macOS y explica cómo un atacante puede usarla para acceder a datos sensibles de iCloud Photos del usuario
- La cadena de vulnerabilidades supera múltiples etapas para evadir el sandbox, así como las protecciones de Gatekeeper y TCC, permitiendo ejecución remota de código y acceso a datos sensibles
- Este artículo ofrece información importante para investigadores de seguridad y usuarios de macOS, y destaca que Apple corrigió estas vulnerabilidades
- Otros proyectos con funciones similares incluyen otras aplicaciones de calendario como Google Calendar
1 comentarios
Opiniones en Hacker News
Si una gran empresa tecnológica no paga una recompensa, es probable que haya una razón legítima
No uso iCloud Photo Library, pero es extraño que si cambia la ubicación de la biblioteca de fotos, la nueva ubicación no quede protegida
Hay otra forma de manipular la bandera de cuarentena
La primera etapa por sí sola ya es una vulnerabilidad grave
Un atacante podría robar las fotos de iCloud de la víctima mediante una invitación maliciosa del calendario
Si el archivo especificado por el atacante ya existe, se guarda como
PoC.txt-2No me gusta el estado de la recompensa
Siento emoción cada vez que aparece una vulnerabilidad de seguridad que no es de memory safety
Me pregunto si Lockdown Mode evita esto
Es un exploit bastante antiguo