El proyecto GNU Guix haalertado de cuatro vulnerabilidades de seguridad (con identificadores CVE aún pendientes de asignación) detectadas en las utilidades 'guix substitute' y 'guix pull'/'guix time-machine' de su gestor de paquetes. Los fallos, presentes en todas las instalaciones afectadas, permiten desde la escalada remota de privilegios hasta la corrupción del almacén de paquetes y la divulgación local de archivos sensibles. La explotación remota de 'guix substitute' solo requiere que el sistema intente descargar un binario precompilado (sustituto): cualquier servidor configurado, también los descubiertos mediante '--discover', y un atacante en posición de intermediario (MITM) pueden aprovecharlo, incluso aunque se utilice HTTPS. La explotación local únicamente precisa acceso al socket de 'guix-daemon', accesible por defecto a cualquier usuario.
La primera vulnerabilidad reside en la rutina 'restore-file', que descomprime los sustitutos en tiempo real, antes de verificar su hash, lo que permite escribir archivos arbitrarios —incluido '/etc/passwd' si el demonio corre como root— mediante un servidor malicioso. La segunda reside en 'fetch-narinfos', que no comprueba que la metadatos recibida corresponda a la solicitada, facilitando la sustitución de paquetes por versiones obsoletas o inseguras. La tercera permite usar URIs 'file://' para leer archivos arbitrarios del sistema y exponer secretos al cliente. La cuarta, en 'guix pull'/'guix time-machine', permite crear o sobrescribir archivos en el directorio del usuario mediante un nombre de canal manipulado, principalmente con fines de denegación de servicio.
Los desarrolladores recomiendan actualizar el demonio de inmediato y, durante la actualización, valorar el uso de '--no-substitutes' en todas las invocaciones de 'guix'. Los fallos (1) y (2) se mitigan contra atacantes remotos desactivando los sustitutos; los fallos (1), (2) y (3) no admiten mitigación contra un atacante local y solo se corrigen actualizando. La vulnerabilidad (4) se evita no ejecutando 'guix pull' ni 'guix time-machine'.
