Ilana kan fun ilokulo ailagbara ninu eto abẹlẹ tty ti ekuro Linux ti ṣafihan

Awọn oniwadi lati ẹgbẹ Google Project Zero ṣe atẹjade ọna kan fun ilokulo ailagbara kan (CVE-2020-29661) ni imuse ti olutọju TIOCSPGRP ioctl lati inu eto tty ti ekuro Linux, ati tun ṣe ayẹwo ni awọn alaye awọn ọna aabo ti o le ṣe idiwọ iru bẹ. ailagbara.

Kokoro ti o nfa iṣoro naa jẹ ti o wa titi ni ekuro Linux ni Oṣu kejila ọjọ 3 ni ọdun to kọja. Iṣoro naa han ni awọn ekuro titi di ẹya 5.9.13, ṣugbọn ọpọlọpọ awọn pinpin ti ṣeto iṣoro naa ni awọn imudojuiwọn si awọn idii ekuro ti a funni ni ọdun to kọja (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch). Ailagbara ti o jọra (CVE-2020-29660) ni a rii nigbakanna ni imuse ti ipe ioctl TIOCGSID, ṣugbọn o tun ti wa titi nibi gbogbo.

Iṣoro naa jẹ ṣẹlẹ nipasẹ aṣiṣe nigbati o ṣeto awọn titiipa, ti o yori si ipo ere-ije ninu koodu awakọ/tty/tty_jobctrl.c, eyiti a lo lati ṣẹda awọn ipo lilo-lẹhin-ọfẹ ti a lo lati aaye olumulo nipasẹ awọn ifọwọyi ioct. pipe TIOCSPGRP. Iwa ilokulo ti n ṣiṣẹ ti ṣe afihan fun igbega anfani lori Debian 10 pẹlu ekuro 4.19.0-13-amd64.

Ni akoko kanna, nkan ti a tẹjade ko dojukọ pupọ lori ilana ti ṣiṣẹda ilokulo ṣiṣẹ, ṣugbọn dipo awọn irinṣẹ wo ni o wa ninu ekuro lati daabobo lodi si iru awọn ailagbara bẹẹ. Ipari naa ko ni itunu; awọn ọna bii ipin iranti ni okiti ati iṣakoso wiwọle iranti lẹhin ti o ti ni ominira ko lo ni iṣe, bi wọn ṣe yorisi idinku ninu iṣẹ, ati aabo orisun CFI (Iṣakoso Flow Integrity), eyiti awọn bulọọki nilokulo ni awọn ipele nigbamii ti ikọlu, nilo ilọsiwaju.

Nigbati o ba n ronu kini yoo ṣe iyatọ ninu igba pipẹ, ọkan ti o ṣe pataki ni lilo awọn atunnkanka to ti ni ilọsiwaju tabi lilo awọn ede ailewu-iranti gẹgẹbi awọn ede Rust ati C pẹlu awọn asọye ọlọrọ (bii Ṣayẹwo C) lati ṣayẹwo. ipo lakoko ipele ikọle, awọn titiipa, awọn nkan ati awọn itọka. Awọn ọna aabo tun pẹlu ṣiṣiṣẹ ipo panic_on_oops, yiyipada awọn ẹya kernel si ipo kika-nikan, ati ihamọ iraye si awọn ipe eto nipa lilo awọn ọna bii iṣẹju-aaya.

orisun: opennet.ru

Fi ọrọìwòye kun