Usa ka teknik sa pagpahimulos sa usa ka kahuyang sa tty subsystem sa Linux kernel gipadayag

Ang mga tigdukiduki gikan sa Google Project Zero team nagpatik sa usa ka pamaagi alang sa pagpahimulos sa usa ka kahuyang (CVE-2020-29661) sa pagpatuman sa TIOCSPGRP ioctl handler gikan sa tty subsystem sa Linux kernel, ug usab gisusi sa detalye ang mga mekanismo sa pagpanalipod nga makababag sa maong mga kahuyang.

Ang bug nga hinungdan sa problema giayo sa Linux kernel kaniadtong Disyembre 3 sa miaging tuig. Ang problema makita sa mga kernels hangtod sa bersyon 5.9.13, apan kadaghanan sa mga distribusyon nag-ayo sa problema sa mga update sa kernel packages nga gitanyag sa miaging tuig (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch). Ang susamang kahuyangan (CVE-2020-29660) dungan nga nakit-an sa pagpatuman sa TIOCGSID ioctl nga tawag, apan naayo na usab kini bisan asa.

Ang problema gipahinabo sa usa ka sayup sa dihang nagbutang sa mga kandado, nga nagpadulong sa usa ka kondisyon sa lumba sa drivers/tty/tty_jobctrl.c code, nga gigamit sa paghimo sa paggamit-human-gawas nga mga kondisyon nga gipahimuslan gikan sa user space pinaagi sa ioct manipulations. pinaagi sa pagtawag sa TIOCSPGRP. Ang usa ka nagtrabaho nga pagpahimulos gipakita alang sa pag-uswag sa pribilehiyo sa Debian 10 nga adunay kernel 4.19.0-13-amd64.

Sa parehas nga oras, ang gipatik nga artikulo dili kaayo nakapunting sa teknik sa paghimo sa usa ka nagtrabaho nga pagpahimulos, apan kung unsang mga himan ang naa sa kernel aron mapanalipdan batok sa ingon nga mga kahuyangan. Ang konklusyon dili makapahupay; ang mga pamaagi sama sa pagbahin sa memorya sa pundok ug pagkontrol sa pag-access sa memorya human kini mapagawas wala gigamit sa praktis, tungod kay kini mosangpot sa pagkunhod sa performance, ug CFI (Control Flow Integrity)-based nga proteksyon, nga gibabagan ang mga pagpahimulos sa ulahi nga mga yugto sa usa ka pag-atake, nanginahanglan pag-ayo.

Kung gikonsiderar kung unsa ang makahimo usa ka kalainan sa taas nga termino, ang usa nga makita mao ang paggamit sa mga advanced static analyzer o ang paggamit sa luwas sa memorya nga mga pinulongan sama sa Rust ug C dialects nga adunay daghang mga anotasyon (sama sa Checked C) aron masusi. kahimtang sa panahon sa yugto sa pagtukod. mga kandado, mga butang ug mga pointer. Ang mga pamaagi sa pagpanalipod naglakip usab sa pagpaaktibo sa panic_on_oops mode, pagbalhin sa mga istruktura sa kernel ngadto sa read-only mode, ug pagpugong sa pag-access sa mga tawag sa sistema gamit ang mga mekanismo sama sa seccomp.

Source: opennet.ru

Idugang sa usa ka comment