Vulnerabilidad en el intérprete kjs de KDE

Se acaba de dar a conocer la resolución a un grave problema de seguridad detectado en diversas versiones de KDE. Las versiones afectadas comprenden las disponibles entre la 3.2.0 y 3.5.0.

Los orígenes de KDE se remontan a la toma del modelo iniciado por CDE (Common Desktop Environment), un entorno de escritorio empleado por diversos sistemas UNIX. El proyecto KDE fue iniciado por Matthias Ettrich en octubre de 1996, prácticamente un año antes de que apareciese el proyecto GNOME. Desde entonces, KDE es un gestor de escritorio muy extendido en productos UNIX, especialmente en las distribuciones Linux.

Librerías importantes del gestor, como KJSEmbed, distribuída en el no menos importante módulo kdebindings, se alimentan de KDE ECMAScript interpreter (kjs) para conectar aplicaciónes Qt/KDE y dotarlas de capacidad de personalización mediante scripts. Un ejemplo clásico de uso del motor kjs es el navegador Konqueror, un gestor de archivos y navegador de Internet de alta calidad, muy popular entre los usuarios de KDE.

El problema diagnosticado está causado por un error de límites en el intérprete kjs a la hora de procesar secuencias URI codificadas según UTF-8. Esto podría ser aprovechado para causar un desbordamiento de búfer mediante peticiones Javascript especialmente construidas, que procesadas por el intérprete afectado, podrían resultar en denegaciones de servicio y la ejecución de código arbitrario en los sistemas con versiones vulnerables.

Tras una inspección ocular a los diffs, los parches contienen principalmente la adición y sustracción de diversos bucles IF de comprobación, como el de los parámetros de longitud y reserva de memoria de búfer “decbufLen” y “decbufAlloc”, con el fin de impedir los desbordamientos, así como la adición de líneas “Object err” para el tratamiento de errores.

La posibilidad de explotar remotamente el problema descrito, la gravedad de los resultados de la explotación y la creciente implantación de KDE en muchos escritorios y servidores domésticos y corporativos, confiere al problema un estatus de muy crítico. La facilidad de explotación es otro factor a favor de la gravedad del problema, motivo por el que recomendamos la actualización inmediata.