Vulnerabilidades en la biblioteca libxml2 que podrían provocar la ejecución de código

Se han identificado cinco vulnerabilidades en la biblioteca Libxml2, desarrollada por el proyecto GNOME y utilizada para analizar contenido XML. Dos de ellas podrían provocar la ejecución de código al procesar datos externos con un formato especial. La biblioteca Libxml5 se utiliza ampliamente en proyectos de código abierto y, por ejemplo, se utiliza como dependencia en más de 2 paquetes de Ubuntu.

La primera vulnerabilidad (CVE-2025-6170) se debe a un desbordamiento de búfer en la implementación del shell interactivo xmllint, utilizado para analizar archivos XML. El desbordamiento se produce al procesar argumentos de comando muy largos debido a la falta de una validación adecuada del tamaño de los datos de entrada antes de copiarlos mediante la función strcpy(). Para explotar esta vulnerabilidad, un atacante debe poder influir en los comandos pasados ​​a la utilidad xmllint. Aún no hay disponible un parche para corregir esta vulnerabilidad.

La segunda vulnerabilidad (CVE-2025-6021) se presenta en la implementación de la función xmlBuildQName() y provoca la escritura de datos fuera del búfer debido a un desbordamiento de enteros al calcular el tamaño del búfer basándose en el prefijo y el nombre local. Para explotar esta vulnerabilidad, un atacante debe sustituir sus datos en los argumentos prefijo y ncname pasados ​​a la función xmlBuildQName(). Se ha preparado un parche para eliminar la vulnerabilidad. La corrección está incluida en la versión 2 de libxml2.14.4. Puede consultar el estado de una nueva versión del paquete o la preparación de una corrección en las distribuciones en las siguientes páginas (si la página no está disponible, significa que los desarrolladores de las distribuciones aún no han comenzado a considerar el problema): Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo y Arch (1, 2).

Los otros tres problemas provocan un bloqueo debido al acceso a un área de memoria ya liberada en la función xmlSchematronGetNode (CVE-2025-49794), una desreferencia de puntero nulo en la función xmlXPathCompiledEval (CVE-2025-49795) y un manejo incorrecto de tipos (Confusión de tipos) en la función xmlSchematronFormatReport (CVE-2025-49796). Para solucionar estas vulnerabilidades, se está considerando la posibilidad de eliminar la compatibilidad con el lenguaje de marcado Schematron de libxml2.

Además, se han detectado tres vulnerabilidades sin parchear en la biblioteca libxslt, que aún no recibe mantenimiento. La información sobre estos problemas aún no se ha publicado y está prevista su publicación para el 9 y el 13 de julio, y el 6 de agosto. También se han detectado vulnerabilidades sin parchear ni divulgar públicamente en los proyectos relacionados con GNOME: gvfs, libgxps, gdm, glib, GIMP y libsoup.

Actualización: El mantenedor de libxml2 ha anunciado que ahora tratará las vulnerabilidades como errores normales, no las priorizará, las solucionará cuando tenga tiempo y revelará inmediatamente la naturaleza de la vulnerabilidad sin imponer un embargo ni dar tiempo para solucionarlas en productos de terceros.

Fuente: opennet.ru

Añadir un comentario