Avaldatud on korrigeerivad väljundid X.Org Server 21.1.12 ja DDX-komponent (seadmest sõltuv X) xwayland 23.2.5, mis võimaldab X.Org Serveri käivitamist X11 rakenduste käitamiseks Waylandi baasil. Uues versioonis X.Org Server on kõrvaldatud 4 haavatavust. Üks haavatavus võib avaldada mõju privileegide tõstmisele süsteemides, kus X-server töötab root-kasutaja õigustes, samuti kaugkoodide käitamisele konfiguratsioonides, kus juurdepääs saavutatakse X11 sessiooni edastamise kaudu SSH abil.
Ülejäänud kolm haavatavust võivad viia mälusisalduse lekkimiseni serverid või ootamatule katkestamisele. Need kolm haavatavust kasutavad ära kliendi poolel muud baiti järjekorra kasutamist kui serveris. Seetõttu on uues versioonis pakutud võimalust blokeerida kliendikontode ühendused süsteemidest, millel on erinev baitide järjekord. Selle väljalülitamiseks saab kasutada konfiguratsiooniparameetrit „AllowByteSwappedClients” või käsurea valikut „+byteswappedclients”.
Olekutingimuse muutmine võimaldab kaitsta võimalike seni avastamata haavatavuste eest, mis manipuleerivad baitide järjekorraga. Selliste haavatavuste olemus seisneb selles, et baitide järjekorra muutmine suuruse poolest viib nende vale tõlgendamiseni ja lugemiseni või kirjutamiseni mällu, mis ületab selgelt eraldatud puhvri suuruse.
Vaikimisi jääb siiski alles toetus klientidele, millel on erinev baitide järjekord, hoolimata sellest, et praktikas on baitide järjekorra muutmine viimase ajal äärmiselt haruldane, kuna tööjaamad, millel X-server töötab, on reeglina varustatud little-endian (väiksemast suuremale) baitide järjekorraga protsessoritega ning nendele ühendatavad X-kliendid, millel on big-endian järjekord, nagu s390x (IBM zSystems) platvorm, on suur haruldus.
Tuvastatud probleemid:
- CVE-2024-31080, CVE-2024-31081, CVE-2024-31082 — andmete lugemine puhverväljast, kasutades ProcXIGetSelectedEvents, ProcXIPassiveGrabDevice ja ProcAppleDRICreatePixmap funktsioone, mis kasutavad tellimuse arvestamata suurusega välja, mis on antud kliendi poolt. Seega, kui kliendi ja serveri vahel on erinevused bite-järjestuses, tagastavad funktsioonid kliendile rohkem andmeid. Esimesed kaks probleemi ilmnevad alates xorg-server-1.7.0 versioonist (2009. aasta), kolmas aga alates xorg-server-1.15.0 (2012. aasta).
- CVE-2024-31083 — juba vabastatud mälu juurde pääsemine (User-after-free) ProcRenderAddGlyphs funktsioonis, mis kutsub AllocateGlyph() funktsiooni uute klientide poolt edastatud glüfide salvestamiseks. AllocateGlyph() funktsioon tagastab uue glüüfi, mille viidete arv on null (refcount=0), ja glüüfi korduv määramine ei suurenda viidete arvu, mistõttu glyph_new massiiv võib sisaldada mitut kirjet, mis viitab ühele glüüfile ilma viidete loendita. Kui ProcRenderAddGlyphs() funktsioon vabastab glüüfi jaoks eraldatud mälu, jääb massiivi alles ja seda saab kasutada täiendava glüüfi viitena, mille mälu on juba vabastatud. Probleem ilmneb X.Org Serveris ja ei mõjuta xwayland'i.
Allikas: opennet.ru
