Fjerne Linux-kjernen for kode som endrer atferd for prosesser som starter med tegnet X

Jason A. Donenfeld, forfatter av VPN WireGuard, trakk utviklernes oppmerksomhet til et skittent hack i Linux-kjernekoden som endrer oppførselen til prosesser hvis navn begynner med tegnet "X". Ved første øyekast blir slike rettelser vanligvis brukt i rootkits for å etterlate et skjult smutthull i prosessbinding, men analyse avslørte at endringen ble lagt til i 2019 for midlertidig å fikse et popup-brukerområdekompatibilitetsbrudd, i samsvar med prinsippet om endringer i kjernen skal ikke bryte kompatibiliteten med applikasjoner.

Det oppsto problemer når man prøvde å bruke mekanismen for atomisk endring av videomodus i DDX-driveren xf86-video-modesetting brukt i X.Org-serveren, noe som skyldtes bindingen til prosesser som startet med tegnet "X" (det ble antatt at løsningen ble brukt på prosessen "Xorg"). Nesten umiddelbart ble problemet i X.Org løst (bruk av atomic API ble deaktivert som standard), men de glemte å fjerne den midlertidige rettelsen fra kjernen og et forsøk på å sende en ioctl for å atomisk endre modus for alle prosesser som starter med tegnet "X" fortsetter å resultere i å returnere en feil. if (current->comm[0] == 'X' && req->value == 1) { pr_info("ødelagt atomic modeset userspace oppdaget, deaktiverer atomic\n"); returnere -EOPNOTSUPP; }

Kilde: opennet.ru

Legg til en kommentar