A Linux kernel megszabadítása a viselkedésmódosító kódoktól az X-szel kezdődő folyamatok esetében

Jason A. Donenfeld, a VPN WireGuard szerzője felhívta a fejlesztők figyelmét a Linux kernel kódjában jelen lévő piszkos hackre, amely megváltoztatja azon folyamatok viselkedését, amelyek neve „X” karakterrel kezdődik. Első pillantásra az ilyen javításokat általában a rootkitekben használják, hogy rejtett kiskaput hagyjanak a folyamatkötésben, de az elemzés kimutatta, hogy a változtatást 2019-ben adták hozzá, hogy ideiglenesen kijavítsák a felugró felhasználói terület kompatibilitási megsértését, összhangban azzal az elvvel, amely megváltoztatja a A kernelnek nem szabad megszakítania az alkalmazásokkal való kompatibilitást.

Problémák merültek fel, amikor az X.Org szerverben használt DDX illesztőprogram xf86-video-modeseting videómódjának atomikus megváltoztatására szolgáló mechanizmust próbálták használni, ami az „X” karakterrel kezdődő folyamatokhoz való kötődésből adódott (ezt feltételezték hogy a kerülő megoldást az „ Xorg" folyamatra alkalmazták). Szinte azonnal kijavították a problémát az X.Org-ban (az atomic API használata alapértelmezés szerint le volt tiltva), de elfelejtették eltávolítani az ideiglenes javítást a kernelből, és megpróbáltak egy ioctl-t küldeni, hogy atomikusan módosítsa az üzemmódot minden olyan folyamatnál az „X” karakter továbbra is hibát jelez. if (current->comm[0] == 'X' && req->value == 1) { pr_info("törött atomi módkészlet felhasználói terület észlelve, az atom letiltása\n"); return -EOPNOTSUPP; }

Forrás: opennet.ru

Hozzászólás