Fa poc es va donar a conèixer el llançament de la nova versió correctiva de X.Org Server 21.1.11 i juntament amb la qual també va ser llançada la versió de xwayland 23.2.4, la qual cosa assegura el llançament de X.Org Server per organitzar l'execució d'aplicacions X11 en entorns basats a Wayland.
S'esmenta que el principal motiu del llançament d'aquesta nova versió de X.Org 21.1.11, és per la implementació dels pegats necessaris per a la correcció de 6 vulnerabilitats, algunes de les quals es poden explotar per escalar privilegis en sistemes on el servidor X s'executa com a root, així com per a l'execució remota de codi en configuracions que utilitzen la redirecció de sessions X11 a través de SSH per a l'accés.
Detalls de les vulnerabilitats
CVE-2023-6816: Desbordament de memòria intermèdia a DeviceFocusEvent i ProcXIQueryPointer
Aquest problema de seguretat, identificat com a CVE-2023-6816, el problema ha estat evident des del llançament de xorg-server-1.13 (0). El desbordament del memòria intermèdia es produeix en passar un índex de matriu no vàlid a DeviceFocusEvent o ProcXIQueryPointer. La vulnerabilitat pot ser un desbordament a causa de l'assignació insuficient d'espai per als botons del dispositiu.
CVE-2024-0229: Accés a memòria fora de límits en reconnectar a un dispositiu mestre diferent
la vulnerabilitat CVE-2024-0229, ha estat apareixent des del llançament de xorg-server-1.1.1 (2006) i es produeix a causa d'una escriptura en memòria intermèdia fora dels límits mitjançant la vinculació a un altre dispositiu mestre en una configuració en què el dispositiu té elements dentrada de classe de botó i clau, i el nombre de botons (paràmetre numButtons) està establert en 0.
CVE-2024-21885: Desbordament de memòria intermèdia a XISendDeviceHierarchyEvent
la vulnerabilitat CVE-2024-21885, ha estat apareixent des del llançament xorg-server-1.10.0 (2010) i pot resultar en un desbordament del memòria intermèdia a causa d'una assignació insuficient d'espai a XISendDeviceHierarchyEvent quan s'elimina un dispositiu amb una ID determinada i s'afegeix un dispositiu amb la mateixa ID a la mateixa sol·licitud.
S'esmenta que la vulnerabilitat és deguda al fet que durant una operació doble per a un identificador s'escriuen dues instàncies de l'estructura xXIHierarchyInfo alhora, mentre que la funció XISendDeviceHierarchyEvent assigna memòria per a una instància.
CVE-2024-21886: Desbordament de Bufer a DisableDevice
la vulnerabilitat CVE-2024-21886, ha estat apareixent des del llançament de xorg-server-1.13.0 (2012) i permet un desbordament de memòria intermèdia a la funció DisableDevice que passa quan un dispositiu mestre està deshabilitat mentre els dispositius esclaus ja estan deshabilitats. La vulnerabilitat és deguda a un càlcul incorrecte de la mida de l'estructura per emmagatzemar la llista de dispositius.
CVE-2024-0409: Corrupció del context SELinux
la vulnerabilitat CVE-2024-0409, detectada a xorg-server-1.16.0, resulta en la corrupció del context SELinux a causa d'un ús incorrecte del mecanisme de privats per emmagatzemar dades addicionals.
Xserver utilitza el mecanisme en els seus propis objectes, cada privat té un “type” associat. Cada privat s'assigna per a la mida rellevant de memòria que es declara en el moment de la creació. L'estructura del cursor al Xserver arriba fins i tot a tenir dues tecles, una per al cursor en si i una altra per als bits que donen forma al cursor. XSELINUX també utilitza claus privats, però és un cas una mica especial perquè utilitza les mateixes claus per a tots els objectes diferents.
El que passa aquí és que el codi del cursor tant a Xephyr com a Xwayland utilitza el tipus incorrecte de «private» en la creació, utilitza el tipus de bits del cursor amb el cursor privat i en iniciar el cursor, sobreescriu el context XSELINUX.
CVE-2024-0408: SELinux GLX PBuffer sense etiquetar
la vulnerabilitat CVE-2024-0408, present a xorg-server-1.10.0 (2010), permet que els recursos X romanguin sense etiquetar, cosa que pot resultar en una escalada de privilegis locals. El codi XSELINUX al servidor X etiqueta els recursos X basant-se en un enllaç.
El que passa aquí és que el codi GLX PBuffer no truca al hook XACE quan crea el memòria intermèdia, per la qual cosa roman sense etiquetar, i quan el client emet una altra sol·licitud per accedir a aquest recurs o fins i tot quan crea un altre recurs que necessita accedir a aquest memòria intermèdia, el codi XSELINUX intentarà utilitzar un objecte que mai va ser etiquetat i falla perquè el SID és NULL.
Cal esmentar que aquesta nova versió correctiva ja es troba disponible a la majoria dels repositoris de les principals distribucions de Linux i per tant es fa la recomanació de realitzar l'actualització a la nova versió com més aviat millor.
Finalment si estàs interessat a poder conèixer més sobre això, Pots consultar els detalls al següent enllaç.