1 puntos por GN⁺ 2024-09-14 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2024-09-14
Opiniones en Hacker News
  • Si una gran empresa tecnológica no paga una recompensa, es probable que haya una razón legítima

    • Los programas de recompensas están diseñados para pagar por envíos válidos
    • No pagar una recompensa va en contra del objetivo del programa
    • Se incentiva a los equipos que operan el programa a pagar más recompensas
  • 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

    • Después de cambiar la biblioteca de fotos del sistema, la app Photos debería proteger ese directorio
    • Al probarlo en un sistema Sonoma 14.6.1, si la nueva biblioteca de fotos se crea en ~/Pictures, se deniega el acceso
    • Pero si se crea en /tmp, se permite el acceso
    • Si Apple va a soportar la función de mover la biblioteca de fotos a cualquier lugar del sistema de archivos, debería aplicar la protección adecuada
  • Hay otra forma de manipular la bandera de cuarentena

    • Demasiados sistemas tienen la capacidad de modificar estas banderas
  • La primera etapa por sí sola ya es una vulnerabilidad grave

    • Un atacante puede establecer una ruta arbitraria en la sección ATTACH para realizar un ataque de directory traversal
  • Un atacante podría robar las fotos de iCloud de la víctima mediante una invitación maliciosa del calendario

    • Me pregunto si los usuarios de macOS pueden enviar invitaciones aleatorias a cualquiera
  • Si el archivo especificado por el atacante ya existe, se guarda como PoC.txt-2

    • Más tarde, si se elimina el evento/archivo adjunto, se elimina el archivo original
    • Esta vulnerabilidad podría usarse para eliminar archivos existentes en el sistema de archivos
  • No me gusta el estado de la recompensa

    • Me pregunto si es normal para los investigadores de seguridad esperar tanto tiempo con Apple u otras empresas FAANG
  • Siento emoción cada vez que aparece una vulnerabilidad de seguridad que no es de memory safety

    • Me divierte pensar que el tiempo y la energía invertidos en Rust podrían desperdiciarse por un bug de path traversal
  • Me pregunto si Lockdown Mode evita esto

  • Es un exploit bastante antiguo

    • Recuerdo haber leído hace unos 10 años sobre incluir rutas en nombres de archivo