Actualización de X.Org Server 21.1.12 corrigiendo 4 vulnerabilidades

Se han publicado las versiones corregidas del X.Org Server 21.1.12 y del componente DDX (Device-Dependent X) xwayland 23.2.5, que permite la ejecución de X.Org Server para ejecutar aplicaciones X11 en entornos basados en Wayland. En la nueva versión del X.Org Server se han corregido 4 vulnerabilidades. Una de estas vulnerabilidades puede ser explotada para elevar privilegios en sistemas donde el servidor X se ejecuta con derechos de root, así como para ejecutar código de forma remota en configuraciones donde se utiliza el redireccionamiento de sesión X11 mediante SSH.

Las otras tres vulnerabilidades pueden provocar filtraciones de contenido de memoria servidores o fallos de funcionamiento. Estas tres vulnerabilidades se explotan a través del uso en el cliente de un orden de bytes diferente al de servidor. Por ello, en esta nueva versión se ha añadido la opción de bloquear la conexión de clientes de sistemas con un orden de bytes diferente. Para desactivar esto, se puede usar el parámetro de configuración 'AllowByteSwappedClients' o la opción de línea de comandos '+byteswappedclients'.

Cambiar el valor por defecto permite protegerse de vulnerabilidades que aún no se han detectado, que manipulan el orden de los bytes. La esencia de estas vulnerabilidades es que cambiar el orden de los bytes para valores de tamaño provoca su interpretación incorrecta y la lectura o escritura en memoria de un tamaño mucho mayor al que el búfer asignado puede contener.

Por defecto, se mantiene el soporte para clientes con un orden de bytes diferente, a pesar de que, en la práctica, la conversión del orden de los bytes se utiliza muy raramente, ya que las estaciones de trabajo que ejecutan el servidor X generalmente están equipadas con procesadores de orden de bytes little-endian (de menor a mayor byte) y la conexión a ellos de clientes X con orden big-endian, como la plataforma s390x (IBM zSystems), es muy poco común.

Problemas identificados:

  • CVE-2024-31080, CVE-2024-31081, CVE-2024-31082 — lectura de datos desde áreas fuera del búfer mediante manipulaciones de las funciones ProcXIGetSelectedEvents, ProcXIPassiveGrabDevice y ProcAppleDRICreatePixmap, que utilizan un campo de tamaño sin tener en cuenta el orden de los bytes en el valor proporcionado por el cliente. Por lo tanto, cuando hay diferencias en el orden de los bytes entre el cliente y el servidor, las funciones devuelven más datos al cliente. Los primeros dos problemas se manifiestan desde la versión xorg-server-1.7.0 (2009), y el tercero desde xorg-server-1.15.0 (2012).
  • CVE-2024-31083 — acceso a memoria ya liberada (User-after-free) en la función ProcRenderAddGlyphs, que llama a la función AllocateGlyph() para guardar nuevos glifos proporcionados por el cliente. La función AllocateGlyph() devuelve un nuevo glifo con un contador de referencias nulo (refcount=0), y volver a referenciar el glifo no incrementa el contador de referencias, lo que provoca que el array glyph_new pueda incluir múltiples entradas que apuntan a un mismo glifo sin contador de referencias. Al liberar la memoria asignada para el glifo en ProcRenderAddGlyphs(), queda un puntero a un glifo que ya ha sido liberado, lo que permite su uso indebido. Este problema se manifiesta en el X.Org Server y no afecta a xwayland.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster