Se ha publicado una versión corregida de la biblioteca libXpm 3.5.15, desarrollada por el proyecto X.Org y utilizada para procesar archivos en formato XPM. En la nueva versión se han solucionado tres vulnerabilidades, de las cuales dos (CVE-2022-46285, CVE-2022-44617) provocan un bucle infinito al procesar archivos XPM especialmente diseñados. La tercera vulnerabilidad (CVE-2022-4883) permite ejecutar comandos arbitrarios al ejecutar aplicaciones que utilizan libXpm. Al iniciar procesos privilegiados relacionados con libXpm, como programas con la bandera suid root, la vulnerabilidad permite elevar privilegios.
La vulnerabilidad es causada por una característica de funcionamiento de libXpm con archivos comprimidos XPM: al procesar archivos XPM.Z o XPM.gz, la biblioteca inicia utilidades externas de descompresión (uncompress o gunzip) usando la llamada execlp(), y la ruta se calcula en función de la variable de entorno PATH. El ataque consiste en colocar en un directorio al que el usuario tiene acceso, que esté en la lista de PATH, sus propios archivos ejecutables uncompress o gunzip, que se ejecutarán si se inicia una aplicación que utiliza libXpm.
La vulnerabilidad se ha solucionado reemplazando la llamada execlp por execl utilizando rutas absolutas a las utilidades. Además, se ha añadido la opción de compilación "--disable-open-zfile" que permite deshabilitar el procesamiento de archivos comprimidos y la llamada a utilidades externas para descompresión.
Fuente: opennet.ru
