„Linux“ branduolio pašalinimas nuo elgesio keitimo kodo procesams, prasidedantiems X

Jasonas A. Donenfeldas, VPN WireGuard autorius, atkreipė kūrėjų dėmesį į nešvarų įsilaužimą, esantį Linux branduolio kode, kuris keičia procesų, kurių pavadinimas prasideda simboliu „X“, elgesį. Iš pirmo žvilgsnio tokie pataisymai dažniausiai taikomi „rootkit“, kad liktų paslėpta spraga proceso susiejime, tačiau analizė parodė, kad pakeitimas buvo pridėtas 2019 m., siekiant laikinai ištaisyti iškilusį vartotojo ir erdvės suderinamumo pažeidimą, laikantis principo, branduolio pakeitimai neturėtų pažeisti programų suderinamumo.

Problemos iškilo bandant naudoti atominio vaizdo režimo keitimo mechanizmą X.Org serveryje naudojamoje xf86-video-modeseting DDX tvarkyklėje, dėl kurios susiejami procesai, prasidedantys simboliu „X“ (manoma, kad sprendimas buvo pritaikytas į „xorg“). Beveik iš karto X.Org problema buvo išspręsta (pagal numatytuosius nustatymus atominės API naudojimas buvo išjungtas), tačiau tarpinį pataisymą buvo pamiršta pašalinti iš branduolio ir buvo bandoma išsiųsti ioctl, kad atomiškai pakeistų režimą visi procesai, prasidedantys simboliu „X“, vis tiek sukelia klaidą. if (current->comm[0] == 'X' && req->value == 1) { pr_info("aptikta sugedusi atominė moderinė vartotojo erdvė, išjungiama atominė\n"); grąžinti -EOPNOTSUPP; }

Šaltinis: opennet.ru

Добавить комментарий