A use-after-free vulnerability was found in the ProcRenderAddGlyphs() function of Xorg servers. This issue occurs when AllocateGlyph() is called to store new glyphs sent by the client to the X server, potentially resulting in multiple entries pointing to the same non-refcounted glyphs. Consequently, ProcRenderAddGlyphs() may free a glyph, leading to a use-after-free scenario when the same glyph pointer is subsequently accessed. This flaw allows an authenticated attacker to execute arbitrary code on the system by sending a specially crafted request.
Se encontró una vulnerabilidad de use-after-free en la función ProcRenderAddGlyphs() de los servidores Xorg. Este problema ocurre cuando se llama a AllocateGlyph() para almacenar nuevos glifos enviados por el cliente al servidor X, lo que potencialmente resulta en múltiples entradas que apuntan a los mismos glifos no recontados. En consecuencia, ProcRenderAddGlyphs() puede liberar un glifo, lo que lleva a un escenario de use-after-free cuando posteriormente se accede al mismo puntero de glifo. Esta falla permite que un atacante autenticado ejecute código arbitrario en el sistema enviando una solicitud especialmente manipulada.
This vulnerability allows local attackers to escalate privileges on affected installations of X.Org Server. An attacker must first obtain the ability to execute low-privileged code on the target system in order to exploit this vulnerability.
The specific flaw exists within the ProcRenderAddGlyphs function. The issue results from the lack of validating the existence of an object prior to performing operations on the object. An attacker can leverage this vulnerability to escalate privileges and execute arbitrary code in the context of root.