Investigadores del equipo Proyecto Cero de Google han detallado una técnica para crear un exploit funcional que permite la ejecución remota de código con privilegios del kernel de Linux mediante el envío de un SMS o mensaje RCS con un archivo adjunto de audio especialmente diseñado. El ataque se ejecuta sin interacción del usuario, ni siquiera ver o escuchar el mensaje recibido.
El exploit aprovecha dos vulnerabilidades: la biblioteca Dolby Unified Decoder (CVE-2025-54957) y el controlador Bigwave del kernel de Linux (CVE-2025-36934). Anteriormente, para explotar las vulnerabilidades de los códecs, el usuario debía escuchar o ver el contenido malicioso. Con la integración de asistentes de inteligencia artificial en las últimas versiones de firmware de Android, el contenido multimedia recibido se decodifica automáticamente al recibirlo, lo que aumenta significativamente la vulnerabilidad para ataques sin clic. Para los mensajes de audio SMS y RCS, la aplicación Google Messages genera automáticamente transcripciones para búsquedas de texto mediante el servicio com.google.android.tts, lo que permite explotar vulnerabilidades en los códecs de audio existentes sin intervención del usuario.
El problema del decodificador unificado Dolby se debe a un desbordamiento de enteros al calcular el tamaño del búfer para las estructuras de datos del marco de sincronización que se procesan. Este desbordamiento puede sobrescribir el puntero utilizado para procesar el siguiente marco de sincronización. Modificar este puntero permite al atacante sobrescribir el puntero de función con datos controlados por él, ejecutando su código con privilegios de "mediacodec", restringidos por SELinux.
Para explotar el kernel de Linux, se explotó una vulnerabilidad en el controlador Bigwave, que gestiona el dispositivo de caracteres /dev/Bigwave, al que se accede desde el contexto SELinux "mediacodec". Esta vulnerabilidad permitía sobrescribir las estructuras del kernel manipulando la llamada ioctl BIGO_IOCX_PROCESS, lo que provocaba la ejecución de código con privilegios de kernel.
Una vulnerabilidad en la biblioteca Dolby Unified Decoder (libcodec2_soft_ddpdec.so), que proporciona funciones para decodificar los formatos Dolby Digital (DD, AC-3) y Dolby Digital Plus (DD+, EAC-3), no es específica de Android ni del firmware del Pixel 9, y también afecta a otras plataformas (Samsung S24, MacBook Air M1, iPhone 17 Pro, Windows, ChromeOS, etc.). En el repositorio AOSP de Android y el firmware del Samsung S24, se aplica un filtro de llamada al sistema seccomp a los procesos iniciados en el contexto del mediacodec, lo que dificulta la explotación de las vulnerabilidades del kernel. El firmware del Pixel 9 carecía de dicho filtro. Los ataques podrían proteger Mecanismo de etiquetado de memoria (MTE), pero solo está disponible para dispositivos Pixel 8 o superior como una opción que se activa al habilitar el modo "Protección avanzada". En macOS e iOS, la explotación se ve obstaculizada al compilar la biblioteca con el indicador "-fbounds-safet", que introduce comprobaciones adicionales de matriz fuera de límites que reducen el rendimiento.
Los investigadores están investigando por separado los problemas para la entrega de una solución a una vulnerabilidad en el decodificador unificado Dolby. La información sobre la vulnerabilidad se divulgó públicamente 82 días antes de que la solución se lanzara para los usuarios de dispositivos Pixel. Dolby fue informado del problema el 26 de junio de 2025. La primera solución binaria se lanzó el 18 de septiembre para Chrome OS, pero Dolby no proporcionó parches binarios para dispositivos Android hasta el 8 de octubre. La información sobre la vulnerabilidad se divulgó públicamente el 15 de octubre. Samsung lanzó una solución el 12 de noviembre, y la solución para dispositivos Pixel no se publicó hasta el 5 de enero. La distribución del parche a todos los dispositivos Android tardó 139 días.
La vulnerabilidad en Dolby Unified Decoder se descubrió en menos de dos días, y en el controlador BigWave, en menos de un día de revisión. El tiempo de desarrollo para un exploit funcional para la vulnerabilidad de Dolby Unified Decoder se estimó en ocho semanas para un solo investigador, y tres semanas para BigWave. En un informe publicado el 14 de octubre, Dolby calificó la vulnerabilidad de Dolby Unified Decoder como de baja gravedad, a pesar de compartir detalles del exploit en desarrollo. A la vulnerabilidad de BigWave se le asignó un nivel de gravedad moderado en Android, alegando que el ataque solo es posible desde contenido privilegiado y no es accesible desde contextos sin privilegios (tres meses después, el estado de la vulnerabilidad se modificó a "problema grave").
Fuente: opennet.ru

