Het verwijderen van code uit de Linux-kernel die het gedrag verandert van processen die beginnen met het teken X

Jason A. Donenfeld, auteur van VPN WireGuard, vestigde de aandacht van ontwikkelaars op een vuile hack in de Linux-kernelcode die het gedrag verandert van processen waarvan de naam begint met het teken “X”. Op het eerste gezicht worden dergelijke oplossingen doorgaans gebruikt in rootkits om een ​​verborgen maas in de procesbinding te laten, maar uit analyse is gebleken dat de wijziging in 2019 is toegevoegd om een ​​schending van de compatibiliteit van pop-upgebruikersruimte tijdelijk op te lossen, in overeenstemming met het principe dat wijzigingen in de kernel mag de compatibiliteit met applicaties niet verbreken.

Er deden zich problemen voor bij het proberen het mechanisme te gebruiken voor het atomisch wijzigen van de videomodus in de DDX-driver xf86-video-modesetting gebruikt in de X.Org-server, wat te wijten was aan de binding aan processen die beginnen met het teken “X” (er werd aangenomen dat de oplossing werd toegepast op het proces “Xorg"). Vrijwel onmiddellijk werd het probleem in X.Org opgelost (het gebruik van de atomaire API was standaard uitgeschakeld), maar ze vergaten de tijdelijke oplossing uit de kernel te verwijderen en een poging om een ​​ioctl te sturen om de modus atomair te veranderen voor alle processen beginnend met het teken “X” blijft nog steeds resulteren in een foutmelding. if (current->comm[0] == 'X' && req->value == 1) { pr_info("gebroken atomaire modeset gebruikersruimte gedetecteerd, atomic uitgeschakeld\n"); retourneer -EOPNOTSUPP; }

Bron: opennet.ru

Voeg een reactie