Microsoft descubre fallo crítico en macOS que permite saltar el Sandbox (CVE-2025-31191)

Microsoft desvela CVE-2025-31191, un fallo en macOS que permite a apps maliciosas saltar el Sandbox manipulando marcadores de seguridad. Actualiza ya.

Cristian Do Carmo Rodríguez
2 de may. de 2025
5 min de lectura
SeguridadPrivacidadAppleMicrosoftAvanzado

El equipo de Inteligencia de Amenazas de Microsoft ha sacado a la luz una vulnerabilidad significativa en macOS, identificada como CVE-2025-31191. Este fallo, descubierto en abril de 2024, podría permitir a una aplicación maliciosa saltarse las restricciones del App Sandbox y ejecutarse sin limitaciones en el sistema operativo de Apple.

Afortunadamente, tras la comunicación responsable por parte de Microsoft, Apple ya ha publicado un parche.

¿En qué consiste la vulnerabilidad CVE-2025-31191?

En esencia, este fallo permite lo que se conoce como un escape del Sandbox. El App Sandbox de macOS es una tecnología de seguridad fundamental diseñada para limitar lo que las aplicaciones pueden hacer, restringiendo su acceso a recursos del sistema y datos del usuario. Si una aplicación logra escapar de este entorno controlado, puede potencialmente realizar acciones no autorizadas en el dispositivo.

black flat screen computer monitor on white table

Un atacante que explote con éxito esta vulnerabilidad podría, en teoría:

  • Ejecutar código sin restricciones.
  • Elevar sus privilegios en el sistema.
  • Exfiltrar datos sensibles del usuario.
  • Instalar software malicioso adicional (payloads).

Microsoft señala que, si bien el fallo existe, explotarlo específicamente contra aplicaciones como Microsoft Office requeriría cierta complejidad y, probablemente, que el usuario tuviera habilitadas las macros.

El Sandbox de macOS y los marcadores de seguridad: El origen del problema

El App Sandbox: Una barrera de protección

El App Sandbox es una medida de seguridad crucial en macOS. Obliga a los desarrolladores a definir reglas muy estrictas sobre los permisos de sus aplicaciones: si pueden acceder a internet, a qué archivos pueden leer o escribir, etc.

Para que una app se publique en la Mac App Store, debe cumplir con estas normas de aislamiento. El objetivo es que, incluso si una app tiene intenciones maliciosas o es comprometida, el daño que pueda causar esté contenido.

Marcadores de seguridad y acceso persistente

El descubrimiento de Microsoft se centró en cómo las aplicaciones, incluso dentro del Sandbox, pueden obtener acceso a archivos fuera de su contenedor. Una de las APIs investigadas fue GrantAccessToMultipleFiles. Esta función permite a una macro de Office (y a otras aplicaciones) solicitar acceso de lectura/escritura a archivos específicos, pero requiere una interacción explícita del usuario, quien debe seleccionar y aprobar dichos archivos o carpetas.

black and silver macbook pro

Lo interesante es que macOS utiliza un mecanismo llamado marcadores de seguridad (security-scoped bookmarks) para que este permiso otorgado por el usuario persista en el tiempo, incluso después de reiniciar el ordenador. La aplicación guarda este permiso en forma de marcador en un archivo específico (securebookmarks.plist), ubicado en una carpeta (Containers) a la que la app sí tiene acceso. La próxima vez que la app necesite acceder al archivo, utiliza el marcador guardado y, en teoría, no necesita volver a pedir permiso al usuario.

La clave está en el llavero (Keychain)

El agente ScopedBookmarkAgent y la firma criptográfica

Para evitar que una aplicación simplemente cree marcadores falsos para acceder a cualquier archivo, Apple diseñó un sistema de seguridad. Estos marcadores persistentes no son simples referencias; están firmados criptográficamente.

Un servicio del sistema llamado ScopedBookmarkAgent es el encargado de validar los permisos iniciales y generar estos marcadores firmados. También valida los marcadores guardados cuando una app quiere reutilizarlos.

slightly opened silver MacBook

La firma utiliza una clave criptográfica secreta (HMAC-SHA256), única para cada aplicación, que se almacena de forma segura en el Llavero de macOS (Keychain Access). El Llavero es el gestor de contraseñas y secretos integrado en el sistema operativo.

El punto débil: Modificar la clave

Aquí es donde Microsoft encontró la grieta. El Llavero tiene listas de control de acceso (ACL) que definen qué procesos pueden leer cada secreto. La ACL para la clave de firma de los marcadores de seguridad (com.apple.scopedbookmarksagent.xpc) está correctamente configurada para que solo el proceso ScopedBookmarkAgent pueda leerla. Una app normal dentro del Sandbox no puede obtener esa clave secreta.

Sin embargo, Microsoft descubrió que, si bien la ACL impide la lectura del secreto, ¡no impedía su eliminación y reemplazo! Un atacante, desde dentro de una aplicación en el Sandbox, podía borrar la entrada original del Llavero y crear una nueva con el mismo nombre pero con un código conocido por el atacante. Además, podía establecer la ACL de esta nueva entrada para que cualquiera (incluido el ScopedBookmarkAgent) pudiera leerla.

MacBook Pro turned on beside white ceramic mug

El ataque paso a paso

Con esta capacidad, un exploit podría seguir estos pasos:

  1. Borrar la clave secreta original del Llavero usada para firmar los marcadores.
  2. Crear una nueva entrada con el mismo nombre y un secreto conocido por el atacante, permitiendo su lectura por cualquier proceso.
  3. Calcular la firma para un marcador malicioso que apunte a archivos sensibles fuera del Sandbox, usando el secreto conocido.
  4. Guardar este marcador falsificado en el archivo securebookmarks.plist de la aplicación.
  5. Invocar la API GrantAccessToMultipleFiles.
  6. El sistema operativo, a través del ScopedBookmarkAgent, leerá el secreto (ahora controlado por el atacante) y validará el marcador falsificado como auténtico.
  7. La aplicación obtendrá acceso a los archivos especificados en el marcador malicioso sin interacción del usuario, logrando así escapar de las restricciones del Sandbox.

Este método es genérico y podría afectar a cualquier aplicación en Sandbox que utilice marcadores de seguridad.

¿A quién afecta y qué hacer?

Esta vulnerabilidad afecta potencialmente a cualquier usuario de macOS cuya versión no esté actualizada. Aunque el exploit requiere cierta elaboración, el impacto de un escape del Sandbox es siempre grave.

La solución: Actualizar macOS

La medida más importante es aplicar las actualizaciones de seguridad proporcionadas por Apple. Mantener el sistema operativo actualizado es fundamental.

MacBook Pro

Microsoft destaca la importancia de la colaboración entre investigadores y fabricantes (Coordinated Vulnerability Disclosure) para solucionar estos problemas antes de que sean explotados a gran escala. Además, señalan que sus propias herramientas de seguridad, como Microsoft Defender for Endpoint, pueden detectar comportamientos anómalos asociados a este tipo de exploits, como el acceso inesperado a claves del Llavero por parte de aplicaciones en Sandbox.

Conclusión

El descubrimiento de CVE-2025-31191 por parte de Microsoft es un recordatorio de que ninguna plataforma es invulnerable. Incluso mecanismos de seguridad robustos como el App Sandbox de macOS pueden tener puntos débiles. La buena noticia es que, gracias a la investigación y la divulgación coordinada, Apple pudo solucionar el problema. Para los usuarios, la lección es clara: mantén tu macOS siempre actualizado.