En el ecosistema de Apple, la seguridad y la protección de la privacidad son pilares fundamentales para los usuarios y desarrolladores por igual. En macOS, el sistema de control de acceso a recursos sensibles está gestionado por TCC (Transparency, Consent, and Control), el núcleo que regula los permisos para aplicaciones que desean acceder, por ejemplo, al micrófono o la cámara. Sin embargo, en mayo de 2025, se reveló una vulnerabilidad crítica — identificada como CVE-2025-31250 — que cuestiona la fiabilidad de esas ventanas emergentes de permiso que tantos usuarios aceptan sin pestañear. ¿Pero, qué tan confiables son realmente? ¿Qué riesgos implican para el usuario común? ¿Y qué ha hecho Apple al respecto? A continuación, exploramos estos aspectos en detalle. La vulnerabilidad CVE-2025-31250 presenta una falla en la forma en que macOS valida la relación entre las aplicaciones originarias de la solicitud de permiso y aquellas que realmente reciben el consentimiento.
En esencia, un atacante puede manipular el sistema para que aparezca una ventana de permiso que aparenta provenir de una aplicación legítima y confiable, mientras que la concesión de permiso se aplica a una aplicación distinta y potencialmente maliciosa. Esto implica que, incluso si el usuario cree estar autorizando a, por ejemplo, la app FaceTime para usar la cámara, en realidad estaría dando permiso a otro software sin que lo detecte. Este tipo de suplantación no es completamente nuevo en el mundo de la seguridad informática, pero el método descubierto por el investigador Noah Gregory no requiere complicaciones extravagantes como crear aplicaciones falsas completas o modificar accesos directos en el Dock. La explotación se basa en enviar un mensaje especialmente diseñado al proceso tccd, que es el servicio encargado de gestionar las solicitudes y registros de permiso en macOS, utilizando la API privada e íntimamente ligada al núcleo del sistema. Gracias a un error lógico en la función TCCAccessRequestIndirect, era posible separar el identificador de la aplicación mostrada al usuario del que realmente recibía el permiso.
El investigador realizó pruebas reenviando estos mensajes mediante un código en Swift que definía claramente qué aplicación aparecía en la ventana de consentimiento y cuál era la que finalmente accedía al recurso. Así, una aplicación malintencionada podría esperar a que el usuario abra una app confiable y mostrar el permiso justamente en ese momento, incrementado las posibilidades de obtener un consentimiento engañoso. Imagina que mientras usas la aplicación Voice Memos, repentinamente aparece una ventana pidiendo permiso para el micrófono, aparentemente proveniente de esa app. Si aceptas, estarías en realidad concediéndoselo a otro programa sin que te des cuenta. Analizar esta vulnerabilidad requiere un entendimiento de ciertas tecnologías antiguas y su relación con la arquitectura moderna de macOS.
Una pieza fundamental en este rompecabezas son los Apple Events, un sistema de comunicación entre procesos que tiene su origen en la era clásica de Mac OS, actualizados y adaptados a las necesidades contemporáneas. Desde macOS Mojave (10.14), enviar Apple Events también requiere permiso explícito por parte del usuario, y este permiso es gestionado a través de TCC. Es aquí donde la vulnerabilidad explotaba el tratamiento especial del campo “indirect object” en la base de datos de permisos, permitiendo la confusión entre la aplicación origen y el objetivo real. Pese a la gravedad de esta falla, la mitigación no ha sido homogénea en los sistemas de Apple.
El parche oficial fue lanzado exclusivamente para macOS Sequoia 15.5, dejando sin corregir a macOS Ventura 13.7.6 y macOS Sonoma 14.7.
6, aunque salieron el mismo día. Según respuesta oficial de Apple, no existe intención de actualizar estas dos últimas versiones, lo que significa que millones de usuarios permanecen expuestos a este riesgo al utilizar estas plataformas sin una adecuada mitigación. Aunque la razón por la que Apple decidió este camino no está completamente clara, esta postura pone en entredicho la política de seguridad y actualización del sistema operativo. Los riesgos derivados de este fallo van más allá de una simple autorización equivocada. Un atacante con un control parcial sobre una aplicación confiable podría utilizar este exploit para activar permisos esenciales sin que el usuario sospeche.
Por ejemplo, podría habilitar el acceso al micrófono, cámara o directorios protegidos, elementos de gran sensibilidad para el usuario, especialmente en escenarios de espionaje digital o robo de información personal y corporativa. El investigador también discutió un viejo truco relacionado con la ubicación y manipulación del archivo TCC.db — la base de datos SQLite donde se almacenan los permisos otorgados por el usuario. En versiones anteriores, la ruta a esta base de datos se obtenía confiando en la variable de entorno HOME, lo que facilitaba ataques al sustituir esa ruta por copias modificadas de la base de datos. Actualmente, sin embargo, macOS consulta el directorio de información de usuario para determinar la carpeta “home”, una mejora orientada a elevar la seguridad; pero incluso este método puede ser vulnerable si el atacante logra escalar privilegios para modificar esas configuraciones a nivel de sistema.
El proceso para explotar completamente esta vulnerabilidad requeriría, por lo tanto, cierto grado de sofisticación, incluyendo un posible escalamiento a privilegios de root para cambiar el directorio home del usuario, plantar archivos falsos en el sistema y asegurar que las modificaciones sean reconocidas por TCC. Sin embargo, desde la perspectiva del usuario promedio, el riesgo primordial es aceptar permisos engañosos sin sospechar que se trata de un ataque dirigido. Apple reconoce el problema y, en su respuesta oficial, ha integrado una solución que detecta y bloquea los mensajes manipulados que generan estas peticiones falsas. Se espera que las solicitudes de permiso solo sean válidas si ambas aplicaciones — la que pide permiso y la que recibe el permiso — coinciden correctamente, eliminando así la discrepancia que permitió la suplantación. Adicionalmente, enviar mensajes con objetos indirectos vacíos o inválidos ahora es descartado silenciosamente, evitando que se produzcan solicitudes maliciosas en segundo plano.
Para los usuarios interesados en verificar y gestionar los permisos concedidos, el panel Privacidad y Seguridad del sistema es la interfaz principal. No obstante, se ha detectado que cuando el permiso es para enviar Apple Events, estos no aparecen listados en la interfaz gráfica, impidiendo su revocación simple. En cambio, Apple ofrece una herramienta de línea de comandos llamada tccutil para gestionar permisos manualmente, aunque su uso está reservado más comúnmente a administradores avanzados y técnicos. Asimismo, existe potencial de detección mediante el framework de Endpoint Security, que fue actualizado para monitorear cambios en la base de datos TCC. Las aplicaciones de seguridad que utilicen este framework podrían alertar a los usuarios cuando se detecten permisos otorgados de forma sospechosa, aunque este margen es limitado y depende de que el usuario final tenga software de protección adecuado instalado y activo.
Este caso pone de manifiesto la importancia de evaluar con atención las ventanas emergentes de permisos. Los usuarios deben estar conscientes de que la simple apariencia de confianza en el diálogo no garantiza que la acción corresponda a la aplicación esperada. Recomendaciones incluyen no conceder permisos inmediatamente al mostrarse una ventana sorpresa y, de preferencia, revisar manualmente en configuraciones qué aplicaciones tienen acceso a recursos críticos. Finalmente, el proceso de reporte y parcheo de esta vulnerabilidad fue largo y riguroso, iniciando en mayo de 2024 y culminando con su solución en mayo de 2025, reflejando la complejidad y minuciosidad con que Apple y la comunidad de seguridad manejan este tipo de problemáticas. El investigador principal fue reconocido formalmente por su aporte, una práctica que refuerza la colaboración entre investigadores y desarrolladores para fortalecer la seguridad colectiva.
En conclusión, aunque Apple continúa trabajando para mejorar el sistema de permisos en macOS, la vulnerabilidad CVE-2025-31250 es un claro recordatorio de que incluso sistemas considerados robustos pueden presentar brechas que comprometen la confianza del usuario. La seguridad no es estática, requiere vigilancia constante y actualización tanto del software como del conocimiento de quienes lo utilizan. Mantenerse informado, aplicar actualizaciones oficiales, y ejercer cautela ante las solicitudes de permisos es clave para navegar con seguridad en el mundo digital actual.