← Volver a artículos
Seguridad· 3 min de lectura

Lectura fuera de límites en libXpm: OpenBSD lo corrige con la errata 032 (CVE-2026-4367)

El 21 de abril de 2026 el proyecto OpenBSD publicó la errata 032 para la rama 7.8 (y la 038 para 7.7) con un arreglo de seguridad en libXpm, la biblioteca que lee y escribe imágenes en formato XPM (X PixMap). El fallo, registrado como CVE-2026-4367, es una lectura fuera de límites que se dispara al procesar un fichero XPM manipulado.

Qué es CVE-2026-4367

libXpm forma parte de las bibliotecas clientes de X.Org y la usan muchos programas que cargan iconos o imágenes en formato XPM, un formato de texto plano antiguo pero todavía presente en entornos de escritorio y aplicaciones X11. El problema está en cómo la biblioteca interpreta la cabecera y los datos de color de un fichero XPM. Si esos campos no encajan con el tamaño real de los datos, el código de parseo lee más allá del buffer reservado.

Una lectura fuera de límites no permite por sí sola escribir en memoria ni inyectar código, pero sí puede exponer contenido de memoria adyacente o, más habitualmente, provocar que la aplicación que abre la imagen se caiga. Por eso OpenBSD lo clasifica como severidad media y no como crítico: el escenario realista es la denegación de servicio de la aplicación afectada o la fuga de fragmentos de memoria, no la ejecución directa de código.

A quién afecta

Afecta a OpenBSD 7.7 y 7.8 que tengan instalada la libXpm del sistema base. El riesgo aparece cuando un programa que enlaza con libXpm abre un XPM de origen no fiable: un fichero descargado, un adjunto, un recurso cargado por una aplicación X11. No es un fallo explotable de forma remota sin interacción; alguien tiene que conseguir que abras o proceses la imagen maliciosa.

Conviene recordar que libXpm es código compartido entre las distribuciones que empaquetan X.Org, así que vulnerabilidades de este tipo suelen tener parches paralelos en otros sistemas. En OpenBSD el vector preferente es siempre el mismo: aplicar la errata oficial.

Cómo mitigarlo

La corrección llega como errata firmada por el proyecto. En un sistema con syspatch disponible, basta con:

doas syspatch

Eso descarga e instala el parche de la errata 032 (en 7.8) o 038 (en 7.7) sin necesidad de recompilar. Tras aplicarlo, reinicia las aplicaciones que tuvieras abiertas para que carguen la biblioteca actualizada. Si construyes el sistema desde fuentes, sincroniza el árbol con la rama de erratas y reconstruye libXpm.

Esta misma tanda de abril incluyó otra corrección relacionada: un desbordamiento de buffer en slaacd(8), el demonio de autoconfiguración de direcciones IPv6. Si vas a pasar syspatch, ambos arreglos entran de una sola vez.

Si trabajas con OpenBSD y su servidor X, te puede interesar el repaso a las vulnerabilidades del servidor X que corrigió la errata 037, de la misma rama 7.8. Y para entender por qué este proyecto persigue estos fallos con tanto detalle, está nuestro artículo sobre OpenBSD y su cultura de la seguridad.

Fuente