W nadchodzącym wydaniu jądra Linux 6.13 wykryto błąd spowodowany kodem pracownika Microsoftu

Linus Torvalds zamierzał opublikować wersję jądra Linux 6.13 w tę niedzielę, ale prawdopodobnie testowanie gałęzi 6.13 zostanie przedłużone o tydzień z powodu problemów z stabilnością w zmianach, wprowadzonych przez pracownika Microsoftu i zaakceptowanych w gałęzi 6.13 w listopadzie. Dodatkowo zaznacza się, że łatka, która spowodowała błąd, została zgłoszona w sposób niestandardowy — ale została zaakceptowana, mimo że nie uzyskała żadnego potwierdzenia (ACK) od maintainerów architektury x86, co stanowi naruszenie powszechnie przyjętych praktyk.

Łatka dodawała możliwość używania dużych stron pamięci w trybie ROX (Read Only Execute) przy przydzielaniu pamięci przeznaczonej na kod wykonywalny. ROX pozwala na używanie pamięci z kodem wykonywalnym w trybie tylko do odczytu, co utrudnia wykorzystanie niektórych luk. W jądrze 6.13 dla kodu wykonywalnego modułów na systemach x86_64 domyślnie włączono używanie dużych stron pamięci wykonywalnej, odzwierciedlonych jako ROX. Zmiana rozwiązywała problem z mapowaniem stron w trybie ROX dla jeszcze całkowicie nie sformułowanego kodu wykonywalnego i pozwalała na ominięcie tymczasowego repaminowania stron ROX w tryb zapisu, aż do zakończenia przygotowań modułów jądra do pracy.

Na końcowym etapie testowania jądra 6.13 inżynier z firmy Intel zidentyfikował błąd, który uniemożliwiał jądru prawidłowe wybudzenie się z trybu uśpienia na niektórych laptopach z procesorami Intel (na przykład z CPU opartymi na mikroarchitekturze Alder Lake). Błąd występował przy kompilacji jądra przy użyciu kompilatora Clang z włączonym trybem ochrony CFI (Control Flow Integrity), który blokuje naruszenia normalnego porządku wykonywania (control flow) w wyniku zastosowania exploitów, które zmieniają przechowywane w pamięci wskaźniki do funkcji. Jako tymczasowe rozwiązanie maintainerzy z firm Intel i AMD odpowiedzialni za architekturę x86, zaproponowali wyłączenie użycia EXECMEM_ROX w jądrze 6.13, zanim zostanie przygotowana i przetestowana pełna łatka rozwiązująca problem (pierwsza wersja poprawki nie rozwiązała problemu).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster