BookinglyTech News
Ciberseguridad

Un fallo en Parallels Desktop permite escalar a root en Mac, y los Intel se quedan sin parche

JFrog documenta CVE-2026-90894 en Parallels Desktop para Mac: una cuenta local sin privilegios puede ejecutar código como root. El arreglo solo llega a la versión 27, que no se instala en Macs Intel.

3 min de lecturaThe Hacker News0 vistas

Un fallo en Parallels Desktop para Mac permite que una cuenta local sin privilegios de administrador ejecute código como root. Lo ha documentado JFrog, que lo ha bautizado como ParaShells y le asigna el identificador CVE-2026-90894 con una puntuación de 7,8 sobre 10. El ataque necesita que ya haya código ejecutándose en la máquina con un usuario normal, así que no sirve a través de la red.

Parallels Desktop virtualiza Windows y Linux dentro de un Mac e instala un servicio en segundo plano, prl_disp_service, que corre como root porque se encarga de la red del host y de desempaquetar los paquetes de las máquinas virtuales. En el equipo que probó JFrog —Parallels Desktop 26.4.0, build 57513, sobre un Mac con chip de Apple— el socket al que escucha ese servicio era escribible por cualquier usuario, de modo que cualquier programa podía conectarse. La llamada de login que viene después, PrlSrv_LoginLocal, solo comprueba las credenciales que el kernel reporta del proceso que se conecta: no exige firma de código de Parallels y funciona con una cuenta que no es administradora.

La inyección en tar

Para instalar un appliance, el servicio construye el comando de descompresión como una sola línea de texto, tar -xf "%1" -C "%2", y luego la vuelve a partir en argumentos con QProcess::splitCommand de Qt. El atacante controla parte de ese texto porque elige la carpeta de destino de la máquina virtual. Una comilla doble dentro del nombre de la carpeta cierra el entrecomillado antes de tiempo, y lo que venga después pasa a ser opciones extra para tar en lugar de formar parte de una ruta. JFrog usó --use-compress-program, que hace que tar entregue el archivo a otro programa; como tar corre como root, ese programa también. Su script de prueba escribió una regla de sudo sin contraseña y abrió una shell de root.

No hace falta tener ninguna máquina virtual encendida: basta con el producto instalado, el servicio en marcha y una cuenta local con pocos privilegios. JFrog advierte de que código así es habitual —una fórmula de Homebrew maliciosa, un script de instalación de npm envenenado o un job de compilación comprometido sirven— y de que no ha hecho pruebas de regresión sobre todas las builds antiguas, por lo que considera afectada cualquier instalación que siga exponiendo la misma plantilla de extracción y el mismo socket. No hay constancia de ataques que lo aprovechen.

El arreglo que no llega a los Intel

El cambio que corrige el fallo está en Parallels Desktop 27, y la propia JFrog admite el desajuste de fechas: su cronología sitúa el envío el 1 de septiembre de 2026 dentro de la 27.0.0, mientras que las notas de Parallels colocan la 27.0.0 el 25 de agosto y la 27.0.1 el 1 de septiembre. Instalar la 27.0.1, build 58670, cubre ambas lecturas. La compañía no ha publicado nada sobre el CVE.

El problema es que la versión 27 exige un Mac con chip de Apple. Se eliminó el soporte de Intel siguiendo los planes de Apple, y Parallels dijo que los usuarios de Intel podían quedarse en la 26 con futuras actualizaciones de seguridad. JFrog sostiene que esa línea, incluida la 26.4.2 —publicada el 8 de septiembre—, no incorpora el cambio. Quien no pueda pasar a la 27 se queda, de momento, sin build que el investigador describa como corregida, y Parallels no ha dicho si el arreglo llegará a la 26.