Programiści X.Org wydali xorg-server 21.1.23 i XWayland 24.1.12, zamykając jednocześnie dziewięć luk w zabezpieczeniach X.Org X Server i XWayland. Poprawki opublikowano 2 czerwca 2026 roku; w oficjalnym katalogu X.Org już dostępne są archiwa źródłowe xorg-server-21.1.23 i xwayland-24.1.12.
Problemy dotyczą zarówno klasycznego X.Org Server, jak i XWayland — komponentu, dzięki któremu aplikacje X11 działają w sesji Wayland. Dlatego aktualizacja jest ważna nie tylko dla użytkowników pełnej sesji X11, ale także dla tych, którzy już przeszli na Wayland, ale wciąż uruchamiają starsze aplikacje i gry X11.
CVE w momencie ujawnienia jeszcze nie zostały przypisane, dlatego w biuletynie dotyczących luk w zabezpieczeniach podano je za pomocą identyfikatorów ZDI-CAN i opisu problemów. Osiem błędów zgłosił anonimowy badacz poprzez TrendAI Zero Day Initiative, a jedną odkrył deweloper Red Hat i długoletni uczestnik X.Org, Peter Hutterer.
Co zostało poprawione
Przepełnienie bufora stosu podczas przetwarzania aliasu czcionki.
Błąd występował z powodu niezgodności pomiędzy ograniczeniami w X serwerze a libXfont2: serwer przydzielał bufor o rozmiarze 256 bajtów, podczas gdy nazwa celu aliasu mogła osiągać 1024 bajty. Specjalnie przygotowany alias czcionki o długości od 257 do 1023 bajtów mógł prowadzić do zapisu poza buforem.Use-after-free w XSYNC miSyncDestroyFence().
Klient mógł stworzyć wiele wyzwalaczy fence, oczekiwać ich wyzwolenia, a następnie przez drugie połączenie zniszczyć fence. To prowadziło do dostępu do już zwolnionej pamięci i potencjalnego wywołania zwolnionego wskaźnika funkcji.Przepełnienie bufora stosu w Typach Klawiszy XKB.
W kodzie sprawdzania typów klawiszy CheckKeyTypes() nie zastosowano wystarczającego ograniczenia dla nietypowych typów klawiszy według XkbMaxShiftLevel. W wyniku tego klient mógł ustawić nadmierną liczbę poziomów przełączania, co spowodowało kilka przepełnień stosu. Oddzielnie zaznaczone, że problem związany jest z niekompletnym rozwiązaniem wcześniejszej luki CVE-2025-26597.Przepełnienie bufora stosu w Żądaniu XKB SetMap.
W funkcji _XkbSetMapChecks() użyto stałej tablicy mapWidths[256], indeksowanej według numeru typu klawisza. Przy kontrolowanym przesunięciu przez klienta funkcja pomocnicza mogła zapisać dane poza tą tablicą.Use-after-free w XSYNC FreeCounter().
Wrażliwość objawiała się podczas pracy z wieloma SyncCounter: jeden klient mógł oczekiwać uruchomienia wyzwalaczy, podczas gdy drugie połączenie - zniszczyć odpowiednie liczniki, co prowadziło do dostępu do zwolnionej pamięci.Use-after-free w XSYNC SyncChangeCounter().
Podobny scenariusz dotyczył zmiany liczników: przy jednoczesnej pracy kilku połączeń, klient mógł uzyskać dostęp do już zwolnionego SyncCounter podczas zmiany jego stanu.Odczyt i zapis poza buforem w GLX ChangeDrawableAttributes.
W obsłudze __glXDisp_ChangeDrawableAttributes() była błędna weryfikacja rozmiaru zapytania. Umożliwiało to odczyt lub zapis kontrolowanej przez klienta liczby bajtów poza buforem zapytania. Odczyt mógł prowadzić do ujawnienia informacji, zapis - do awarii. serwera, a uruchomienie serwera X jako root teoretycznie otwierało drogę do podniesienia uprawnień.Use-after-free i ujawnienie informacji w CreateSaverWindow.
Klient mógł zmienić atrybuty okna i wymusić aktywację wygaszacza ekranu, po czym serwer odwoływał się do już zwolnionych danych. W biuletynie opisano to jako scenariusz mogący prowadzić do ujawnienia informacji.Zapis poza stertą w DRI2 DRIGetBuffers / DRIGetBuffersWithFormat.
Błąd występował przy żądaniu kilku DRI2BufferBackLeft i jednego DRI2BufferFrontLeft. Tego typu zapytanie mogło prowadzić do zapisu poza przydzielonym obszarem pamięci w stercie. To jedyny z dziewięciu problemów, który nie został znaleziony przez TrendAI ZDI, lecz przez Petera Hattera.
Nie ogłoszono żadnych nowych funkcji w tej wersji: 21.1.23 i 24.1.12 - przede wszystkim poprawki bezpieczeństwa. Użytkownikom i osobom zajmującym się dystrybucjami zaleca się zaktualizowanie obu pakietów: xorg-server dla klasycznego X11 i xwayland dla kompatybilności aplikacji X11 w sesjach Wayland.
Źródło: linux.org.ru
