En la biblioteca Libxml2, desarrollada por el proyecto GNOME y utilizada para procesar contenido en formato XML, se han identificado 5 vulnerabilidades, dos de las cuales podrían permitir la ejecución de código al procesar datos externos especialmente diseñados. La biblioteca Libxml2 es ampliamente utilizada en proyectos de código abierto y, por ejemplo, es una dependencia en más de 800 paquetes en Ubuntu.
La primera vulnerabilidad (CVE-2025-6170) es causada por un desbordamiento de búfer en la implementación de la shell interactiva xmllint, utilizada para procesar archivos XML. El desbordamiento ocurre al manejar argumentos de comando muy largos debido a la falta de una verificación adecuada del tamaño de los datos de entrada antes de copiar los datos con la función strcpy(). Para explotar la vulnerabilidad, un atacante debe tener la capacidad de influir en los comandos que se pasan a la utilidad xmllint. Actualmente no hay un parche disponible para solucionar la vulnerabilidad.
La segunda vulnerabilidad (CVE-2025-6021) se encuentra en la implementación de la función xmlBuildQName() y provoca la escritura de datos fuera del búfer debido a un desbordamiento entero al calcular el tamaño del búfer basado en el prefijo y el nombre local. Para aprovechar esta vulnerabilidad, un atacante debe conseguir que sus datos se inserten en los argumentos prefix y ncname pasados a la función xmlBuildQName(). Se ha preparado un parche para solucionar la vulnerabilidad. La corrección está incluida en el lanzamiento de libxml2 2.14.4. Para verificar el estado de la nueva versión del paquete o la preparación de la solución en las distribuciones, se puede consultar las siguientes páginas (si la página no está disponible, significa que los desarrolladores de la distribución aún no han comenzado a abordar el problema): Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo y Arch (1, 2).
Los otros tres problemas provocan un fallo en la aplicación debido al acceso a un área de memoria que ya ha sido liberada en la función xmlSchematronGetNode (CVE-2025-49794), la desreferencia de un 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). Se está considerando la posibilidad de eliminar el soporte para el lenguaje de marcado Schematron de libxml2 para solucionar estas vulnerabilidades.
Además, se informa sobre la presencia de tres vulnerabilidades no corregidas en la biblioteca libxslt, que ha quedado sin mantenimiento. La información sobre estos problemas aún no se divulga y está programada para publicarse el 9 de julio, 13 de julio y 6 de agosto. También se destacan vulnerabilidades no corregidas y no divulgadas públicamente en proyectos relacionados con GNOME como gvfs, libgxps, gdm, glib, GIMP y libsoup.
Adicionalmente: El mantenedor de libxml2 ha declarado que a partir de ahora tratará las vulnerabilidades como errores comunes, sin darles mayor prioridad, corrigiéndolas cuando haya tiempo disponible y divulgando de inmediato la información sobre la naturaleza de la vulnerabilidad sin imponer un embargo ni proporcionar tiempo para corregir en productos de terceros.
Fuente: opennet.ru
